博客 RSS订阅

Apache Cordova 3.5.0
作者:Steve Gill
2014年5月23日

我们很高兴地宣布 Apache Cordova 3.5 已经发布!

最显著的变化包括:

  • cordova-clicordova-plugman 之间的公共代码已被移动到名为 cordova-lib 的单独仓库中。
  • 每个平台现在都有一个 package.json 文件,并且已上传到 npm。未来对 cordova-cli 的更新将使用 npm 而不是 git 来加载平台。
  • CB-4863 - 放弃对 iOS 5.0 的支持,并支持 arm64。新项目构建为通用二进制文件(64 位和 32 位),并且要求最低部署目标为 iOS 6.0。
  • 这是最后一个支持 WP7 的版本
  • amazon-fireos 的调试版本添加了 Chrome 开发工具支持

要升级:(将 android 替换为您要更新的平台)

npm install -g cordova
cd my_project
cordova platform update android

对于非 CLI 项目或 3.0 之前的项目,请参阅升级指南

其他更改包括:

Android 中的新增功能

  • CB-6552 添加了顶层 package.json
  • CB-6491 添加 CONTRIBUTING.md
  • CB-6543 修复了在没有 custom_rules.xml 可用时 cordova/run 失败的问题
  • defaults.xml: 添加 AndroidLaunchMode 首选项
  • CordovaResourceApi 添加 JavaDoc
  • CB-6388LOAD_URL 桥接中正确处理二进制数据
  • CB-6048 设置 launchMode=singleTop,以便点击应用图标不会总是重启应用
  • 删除对 AlertDialog.Builder.create 的不正确使用
  • 捕获插件中未捕获的异常,并将它们转换为错误响应。
  • CB-6047 修复了页面转换时在线状态有时会进入错误状态的问题。
  • CordovaResourceApi.copyResource 添加另一个便捷的重载
  • 将框架的 .classpath 更新为 Eclipse 希望的样子。
  • README.md: 将 android update 更新为 android-19
  • 修复了使用 POLLING 桥接模式时出现的 NPE。
  • 更新 NOTICE 以包含 SquareOkHttp
  • CB-5398KitKat 内容 URI 修复应用于所有内容 URI
  • CB-5398 针对 KitKat 内容的解决方法:URL 不会在 <img> 标签中呈现
  • CB-5908 将启动画面图像添加到模板
  • CB-5395 使白名单中的 scheme 和 host(但不包括 path)不区分大小写
  • 忽略由于 stopLoading() 导致的多个 onPageFinished() 回调和 onReceivedError
  • 由于安全漏洞,从所有低于 4.2 的 Android 版本中删除 addJavascriptInterface 支持
  • CB-4984 不要使用 CordovaActivity 名称创建
  • CB-5917 添加一个不重新创建插件的 loadUrlIntoView 重载。
  • 使用线程池进行加载超时。
  • CB-5715 对于 CLI,默认情况下隐藏 assets/wwwres/xml/config.xml
  • CB-5793 ant 构建:在 -post-build 期间重命名 AndroidManifest,以避免 Eclipse 检测到 ant-build/
  • CB-5889 使更新脚本查找项目名称而不是使用 null 作为 CordovaLib
  • CB-5889 在更新脚本中添加一条消息,说明在使用 IDE 时需要导入 CordovaLib

iOS 中的新增功能

  • CB-6638 - 将 CordovaLibTests 转换为 XCTests
  • CB-6579 - CDVWebViewDelegateTests 失败
  • CB-6580 - CDVWhitelistTests 失败
  • CB-6578 - 修复 CordovaLibTests 无法构建的问题
  • CB-6553 添加了顶层 package.json 文件
  • CB-6491 添加 CONTRIBUTING.md
  • CB-6500 - Cordova 需要 arm64 架构。
  • CB-6383 修复了当用户安装了 macports 时 copy-www-build-step.sh 的问题
  • CB-6327 允许插件功能名称(以及回调 ID)中使用“.”
  • CB-6287 - 添加对 arm64 的构建脚本支持
  • CB-6340 - 在 AppDelegate 中为远程通知注册添加广播功能(关闭 #94)
  • CB-6217 iOS 模拟器目标在脚本中不一致
  • CB-5286 - 修复在 arm64 下编译时出现的警告
  • CB-4863 - 放弃对 iOS 5.0 的支持,并支持 arm64。新项目构建为通用二进制文件(64 位和 32 位),并且要求最低部署目标为 iOS 6.0。
  • CB-6149 - AppDelegate 使用已弃用的 handleOpenURL
  • CB-6150 - objc_msgSendarm64 上使用插件时导致 EXC_BAD_ACCESS
  • CB-5018 - iOS 上的 bin/create 默认应使用 --arc
  • CB-5943 - 更新/删除 cordova-ios 仓库中的过时项
  • CB-5395 使白名单中的 scheme 和 host(但不包括 path)不区分大小写
  • CB-5991 修复白名单路径匹配的尾部斜杠问题
  • CB-5967 修复了在极少数情况下 isTopLevelNavigation 未正确设置的问题。
  • 验证回调 ID 始终格式正确
  • 删除了过时的 .gitmodules
  • 根据 Xcode 5.1 建议更新 Xcode .pbxproj 文件
  • 为开始备份到 iCloud 添加了 NSLog 通知(关闭 #96)

Windows Phone 7 和 8 中的新增功能

  • 更新发行说明,并声明即将不再支持 WP7
  • CB-6558WP8 添加了 package.json 文件
  • CB-6491 添加 CONTRIBUTING.md
  • CB-6450 添加了对本地 XHR.responseXML getter 的支持
  • CB-6341 不依赖于路径中的 msbuild
  • 将 Sergey 的 SpecificVersion 标志修复应用于 WP7 模板,CB-6103
  • CB-6103 WP8 CordovaDeploy 潜在的构建问题
  • CB-6268backgroundcolor 应用于 WP7
  • CB-6268 WP8。应用来自 config.xmlBackgroundColor
  • CB-5965 支持设置 responseType,获取 response
  • CB-6299XHRLOCAL URL 中删除协议和前导斜杠
  • CB-6091 如果应用程序路径包含空格,则 Windows 构建失败
  • CB-6041 createTemplates 也应该为 VS-2013 安装它们
  • CB-5219 使用 history.replaceState 时,weinre 断开连接
  • CB-5951namespace 添加到 config.xml
  • 删除了 WP7 模板中对不存在的文件的引用

Windows 8 中的新增功能

  • CB-6684 [3.5.0rc]Windows8 启动画面设置破坏了构建
  • CB-6686 [3.5.0rc]Windows8 如果路径包含空格,则构建错误
  • CB-6557package.json 添加到 Windows8
  • CB-6491 添加 CONTRIBUTING.md
  • CB-6309 Windows8。通过 config.xml 首选项添加启动画面图像支持,CB-6544 SplashScreenBack
  • 修复了在 config.xml 中未指定 background-color 和/或 content-src 的情况
  • 现在在构建过程中,背景颜色已应用于 Windows8 项目配置。
  • 修复了当项目路径包含空格时出现的 build/deploy 错误
  • CB-6435 ./VERSION/template/VERSION 已更新
  • 修改了删除执行策略限制的逻辑。使用 PS 本机 cmdlet 删除限制。
  • CB-6397 Windows8 使用安装的最新版本的 MSBuild Tools 来构建应用程序
  • CB-6256 CB-6266 添加对 Windows8 的域名白名单和起始页设置的支持
  • CB-2970 CB-2953 记录不支持的方法并以代码 1 退出
  • CB-2978 list-devicesWindows 8 上不受支持
  • CB-6091 如果应用程序路径包含空格,则 Windows 构建失败
  • CB-6083 Windows8 使用注册表读取 msbuild 工具路径
  • CB-6042 如果未安装开发人员证书,则 Windows8 Cordova emulate 失败
  • CB-5951namespace 添加到 config.xml
  • 按名称创建后删除模板文件
  • CB-4533 在失败时返回错误代码 2,CB-5359 从注册表中获取工具版本

BlackBerry 10 中的新增功能

  • CB-6554 更新了 package.json
  • CB-6491 添加 CONTRIBUTING.md
  • CB-6522 不允许目标名称中包含空格
  • CB-6440 将配置逻辑移动到其自己的模块
  • CB-6398blackberry10.json 中支持其他命令
  • CB-6440 切换到 grunt 作为任务运行程序
  • CB-6440 chmod -x *.bat
  • CB-6440 删除 scripts/lib 目录
  • CB-6440utils.js 从 bin 移动到模板
  • CB-6440.bat 文件中删除 +x
  • CB-6440 create - 使用 shelljs 而不是自定义复制函数
  • CB-6440create.js 移动到 lib
  • CB-6440 删除 check_reqs.js
  • CB-6440signing-utils 移出 bin 目录
  • CB-6416 确保目标字典存在于属性对象中
  • CB-6410 允许在无法生成调试令牌时进行部署
  • CB-6409 允许检测尚未设置密码的设备
  • CB-6346README.md 中删除 npm 警告
  • CB-6376 user.js 中的 backgroundColor 缺少引号
  • CB-6346 - 将 node_modules 添加到源代码控制
  • CB-6326 修复手动添加的模拟器与自动检测到的模拟器之间的不一致性
  • CB-6326 (cordova-blackberry) target-utils.js
  • CB-6303 从非内容 Web 视图中删除标题
  • CB-6303aria-hidden="true" 添加到控制器 Web 视图主体
  • CB-6241 默认提示输入密码(用 --no-query 替换 --query
  • CB-6222 针对 BlackBerry 10 文档的各种更新
  • CB-6058 - 选项文件已从输出栏中删除。现在位于构建目录中
  • CB-6021--release 添加到 run 命令
  • CB-5723 构建脚本应接受 -l 参数,就像它接受 --loglevel 参数一样
  • CB-6019 向 run 脚本提供 --device 的默认值
  • CB-5660 使用 enabledelayedexpansion 来处理路径中的 )s
  • CB-5909 修复了 check-reqs 在第二次传递时跳过检查逻辑的问题

Firefox OS 中的新功能

  • CB-5816 Firefox OS - 添加构建脚本
  • defaults.xml 中删除未使用的元素
  • CB-6555 更新了顶层 package.json 文件
  • CB-6491 添加 CONTRIBUTING.md
  • CB-5416 需要使用适当的插件权限自动生成 manifest.webapp

Ubuntu(触屏版)中的新功能

  • 允许插件间通信
  • 添加 .editorconfig
  • 在构建之前检查要求
  • bin/build: 修复了 --nobuild 的问题
  • bin/build: 为 click chroot 指定框架而不是系列
  • bin/build: 切换到异步 shelljs.exec
  • CB-6559 添加了顶层 package.json
  • CB-6491 添加 CONTRIBUTING.md

Amazon FireOS 中的新功能

  • CB-6644 在模板代码中添加了对 webview 为 null 的检查。添加了检查和一些注释来指导开发人员。
  • CB-6487 修复了在 Chrome 远程调试中找不到 WebView 的问题
  • CB-6636 需要正确销毁 webview。在 webview 的 handleDestroy() 方法中添加了 destroy() 调用。
  • CB-6491 添加 CONTRIBUTING.md
  • CB-6543 修复了在没有 custom_rules.xml 可用时 cordova/run 失败的问题
  • defaults.xml: 添加 AndroidLaunchMode 首选项
  • CordovaResourceApi 添加 JavaDoc
  • 更新了日志语句 - android=>amazon-fireos
  • Amazon xmlns 添加到项目的模板 AndroidManifest.xml 中。
  • CB-6392 添加 amazon-fireos 平台失败,错误报告不太好
  • CB-6556 添加了顶层 package.json 文件
  • 添加安全检查以防止应用程序调用 init 两次。更改以解决 Cordova 插件管理中的线程安全问题
  • CB-6388LOAD_URL 桥接中正确处理二进制数据
  • CB-6048 设置 launchMode=singleTop,以便点击应用图标不会总是重启应用
  • 通过利用 onBackPressed 而不是 onKeyUp 来修复后退按钮问题
  • CB-5744 使用 Cordova 3.3.0 无法为 Kindle Fire HDX 平板电脑构建 Hello World 应用程序
  • 添加了以 Bundle 为参数的 CordovaWebView 的重载构造函数。
  • 捕获插件中未捕获的异常,并将它们转换为错误响应。
  • CB-6047 修复了页面转换时在线状态有时会进入错误状态的问题。
  • CordovaResourceApi.copyResource 添加另一个便捷的重载
  • 将框架的 .classpath 更新为 Eclipse 希望的样子。
  • Android 目标更新为 android-19
  • README.md: 将 android update 更新为 android-19
  • 修复了使用 POLLING 桥接模式时出现的 NPE。
  • 更新 NOTICE 以包含 Square 用于 OkHttp

Cordova-CLI 中的新功能

  • CB-5941 更新 README.mdhooks-README.md 文件的链接
  • 修复 cordova help 命令
  • 通过删除“experimental”键来修复失败的 CLI 测试
  • CB-6649 从位置参数中删除实验性标志
  • CB-6648 添加实验性功能标志
  • 修复使用 cordova-lib 的 require 路径
  • 更新 package.json 以使用 cordova-lib
  • 分离出 cordova-lib:移动 cordova-cli 文件
  • Windows8 重新添加 BOMCB-5421BOM 添加到所有 html、js、css 文件,以确保应用程序可以通过 Windows 应用商店认证
  • CB-6491 添加 CONTRIBUTING.md
  • android-parser: 添加 AndroidLaunchMode 首选项
  • 修复 CLI 测试以与 node v0.11 一起工作
  • 更新 jasmine-node 的版本。修复了 node 0.11 的测试警告 util.print
  • CB-2606 Android 图标 - 不要尝试复制到未定义的路径
  • CB-2606 支持 iOSAndroidBB10WP8Win8FxOS 的图标
  • CB-6329 删除未使用的 info-utils.js
  • CB-6329 改进 cordova info 命令
  • CB-5847 strictSSL 不再被忽略
  • CB-6432 pre_package hook 不会填充 %CORDOVA_PLATFORMS%
  • 还原“CB-6267 Windows8. 应用来自 config.xmlBackgroundColor
  • 如果删除了“platforms”目录,则重新创建该目录。
  • CB-5093 在 prepare 期间添加 versionCodeCFBundleVersion
  • CB-6312AndroidManifest.xml 中使用 landscape 而不是 userLandscape
  • CB-6421 将测试从 e2e 移动到 spec - cli 测试
  • CB-6377 superspawn: 始终用空格将非 .exe 文件包装到带有 /s /c 的 cmd

Cordova-Plugman 中的新功能

  • 更新 plugman cli 以使用 cordova-lib
  • 分离出 cordova-lib:移动 cordova-plugman 文件

此版本测试的插件版本

  • cordova-plugin-battery-status: 0.2.8
  • cordova-plugin-camera: 0.2.9
  • cordova-plugin-console: 0.2.8
  • cordova-plugin-contacts: 0.2.10
  • cordova-plugin-device: 0.2.9
  • cordova-plugin-device-motion: 0.2.7
  • cordova-plugin-device-orientation: 0.3.6
  • cordova-plugin-dialogs: 0.2.6
  • cordova-plugin-file: 1.1.0
  • cordova-plugin-file-transfer: 0.4.3
  • cordova-plugin-geolocation: 0.3.7
  • cordova-plugin-globalization: 0.2.7
  • cordova-plugin-inappbrowser: 0.4.0
  • cordova-plugin-media: 0.2.10
  • cordova-plugin-media-capture: 0.3.0
  • cordova-plugin-network-information: 0.2.8
  • cordova-plugin-splashscreen: 0.3.0
  • cordova-plugin-statusbar: 0.1.3
  • cordova-plugin-vibration: 0.3.8