Apache Cordova 3.5.0
2014年5月23日
我们很高兴地宣布 Apache Cordova 3.5
已经发布!
最显著的变化包括:
cordova-cli
和cordova-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-6388 在
LOAD_URL
桥接中正确处理二进制数据 - CB-6048 设置
launchMode=singleTop
,以便点击应用图标不会总是重启应用 - 删除对
AlertDialog.Builder.create
的不正确使用 - 捕获插件中未捕获的异常,并将它们转换为错误响应。
- CB-6047 修复了页面转换时在线状态有时会进入错误状态的问题。
- 为
CordovaResourceApi.copyResource
添加另一个便捷的重载 - 将框架的 .classpath 更新为 Eclipse 希望的样子。
- README.md: 将
android update
更新为android-19
。 - 修复了使用 POLLING 桥接模式时出现的 NPE。
- 更新 NOTICE 以包含 Square 的
OkHttp
- CB-5398 将
KitKat
内容 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/www
和res/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_msgSend
在arm64
上使用插件时导致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-6558 为 WP8 添加了
package.json
文件 - CB-6491 添加
CONTRIBUTING.md
- CB-6450 添加了对本地
XHR.responseXML getter
的支持 - CB-6341 不依赖于路径中的
msbuild
。 - 将 Sergey 的 SpecificVersion 标志修复应用于 WP7 模板,CB-6103
- CB-6103 WP8
CordovaDeploy
潜在的构建问题 - 将 CB-6268 的
backgroundcolor
应用于 WP7 - CB-6268 WP8。应用来自
config.xml
的BackgroundColor
- CB-5965 支持设置 responseType,获取 response
- CB-6299 从
XHRLOCAL URL
中删除协议和前导斜杠 - CB-6091 如果应用程序路径包含空格,则 Windows 构建失败
- CB-6041
createTemplates
也应该为VS-2013
安装它们 - CB-5219 使用
history.replaceState
时,weinre
断开连接 - CB-5951 将
namespace
添加到config.xml
- 删除了 WP7 模板中对不存在的文件的引用
Windows 8 中的新增功能
- CB-6684 [3.5.0rc]Windows8 启动画面设置破坏了构建
- CB-6686 [3.5.0rc]Windows8 如果路径包含空格,则构建错误
- CB-6557 将
package.json
添加到 Windows8 - CB-6491 添加
CONTRIBUTING.md
- CB-6309 Windows8。通过
config.xml
首选项添加启动画面图像支持,CB-6544SplashScreenBack
- 修复了在
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-devices
在 Windows 8 上不受支持 - CB-6091 如果应用程序路径包含空格,则 Windows 构建失败
- CB-6083 Windows8 使用注册表读取
msbuild
工具路径 - CB-6042 如果未安装开发人员证书,则 Windows8
Cordova emulate
失败 - CB-5951 将
namespace
添加到config.xml
- 按名称创建后删除模板文件
- CB-4533 在失败时返回错误代码 2,CB-5359 从注册表中获取工具版本
BlackBerry 10 中的新增功能
- CB-6554 更新了
package.json
- CB-6491 添加
CONTRIBUTING.md
- CB-6522 不允许目标名称中包含空格
- CB-6440 将配置逻辑移动到其自己的模块
- CB-6398 在
blackberry10.json
中支持其他命令 - CB-6440 切换到 grunt 作为任务运行程序
- CB-6440
chmod -x *.bat
- CB-6440 删除
scripts/lib
目录 - CB-6440 将
utils.js
从 bin 移动到模板 - CB-6440 从
.bat
文件中删除+x
- CB-6440 create - 使用
shelljs
而不是自定义复制函数 - CB-6440 将
create.js
移动到lib
- CB-6440 删除
check_reqs.js
- CB-6440 将
signing-utils
移出bin
目录 - CB-6416 确保目标字典存在于属性对象中
- CB-6410 允许在无法生成调试令牌时进行部署
- CB-6409 允许检测尚未设置密码的设备
- CB-6346 从
README.md
中删除npm
警告 - CB-6376
user.js
中的backgroundColor
缺少引号 - CB-6346 - 将
node_modules
添加到源代码控制 - CB-6326 修复手动添加的模拟器与自动检测到的模拟器之间的不一致性
- CB-6326 (cordova-blackberry)
target-utils.js
- CB-6303 从非内容 Web 视图中删除标题
- CB-6303 将
aria-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
: 为 clickchroot
指定框架而不是系列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-6388 在
LOAD_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.md
中hooks-README.md
文件的链接 - 修复
cordova help
命令 - 通过删除“experimental”键来修复失败的 CLI 测试
- CB-6649 从位置参数中删除实验性标志
- CB-6648 添加实验性功能标志
- 修复使用
cordova-lib
的 require 路径 - 更新
package.json
以使用cordova-lib
- 分离出
cordova-lib
:移动cordova-cli
文件 - Windows8 重新添加
BOM
:CB-5421 将BOM
添加到所有 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 支持 iOS、Android、BB10、WP8、Win8、FxOS 的图标
- CB-6329 删除未使用的
info-utils.js
- CB-6329 改进
cordova info
命令 - CB-5847
strictSSL
不再被忽略 - CB-6432
pre_package
hook 不会填充%CORDOVA_PLATFORMS%
- 还原“CB-6267 Windows8. 应用来自
config.xml
的BackgroundColor
” - 如果删除了“platforms”目录,则重新创建该目录。
- CB-5093 在 prepare 期间添加
versionCode
和CFBundleVersion
- CB-6312 在
AndroidManifest.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