Apache Cordova Windows 4.0.0 版本发布
2015年6月3日
我们很高兴地宣布 Cordova Windows 4.0.0 版本已发布!
主要特性
- 默认的 Windows 目标版本现在是 8.1。已弃用对 Windows 8.0 的支持,并且在为 Windows 8.0 构建时会发出警告。对 Windows 8.0 的支持将在 6 个月后移除。如果您的 config.xml 中有
windows-target-version
偏好设置为 8.0,您将看到此警告,并且应该考虑将其更改为 8.1。 windows8
平台关键字已弃用。对于所有插件,请使用windows
作为平台关键字。- 支持 Windows 10 Insider Preview 以及使用 Visual Studio 2015 RC 进行构建。更多详细信息可以在下面找到。随着 Windows 10 版本的发布,此支持将不断发展。
- 支持为签名 Windows 应用程序指定参数,例如签名证书、发布者标识等。更多详细信息可以在文档中找到
Windows 10 中的新功能
- Windows 10 Insider Preview 引入了 通用 Windows 平台 (UWP),它为跨设备提供了一个有保障的核心 API 层。您可以创建一个可以安装在各种设备上的单一应用程序包。一个单一的商店可以轻松地在所有设备类型(桌面、移动设备、Xbox、iOT)上发布应用程序。
- 在 Windows 8 和 8.1 中,应用程序在 ms-appx 上下文中加载。在 Windows 10 的 Cordova 中,默认情况下,应用程序在 ms-appx-web 中加载,并且可以访问大多数 Windows 运行时 API。这允许您在 Windows Cordova 应用程序中托管远程内容。有关如何自定义此行为的更多详细信息可以在此处找到。
- 由于 safeHTML 限制,某些 JavaScript 库无法在 Windows 8/8.1 中运行,我们需要使用 winstore-jscompat。在 Windows 10 Cordova 应用程序中,可以使用内容安全策略应用安全性。
安装
您需要更新到 cordova-cli 5.1.1 或更高版本才能使用此版本的 Windows 平台
将其添加到现有项目
npm install -g cordova
cordova platform update windows
或者,将其添加到新项目
npm install -g cordova
cordova platform add windows
更改包括
- CB-8954 添加
requirements
命令支持到 check_reqs 模块 - CB-9073 修复项目路径包含
&
符号时的构建错误 - CB-8889 在平台更新期间持久化应用程序/包名称和产品 ID。
- 现在,appx 清单的更新在很大程度上是在
prepare
步骤中进行的,而不是在build
步骤中进行。此更改意味着 cordova-windows 4.0.0 只能与 cordova CLI > 5.0 一起使用 - CB-8486 支持为 Windows 创建签名包和 build.json
- 添加对 Windows 10 通用应用程序的预览支持。要以 Windows 10 为目标,请将
<preference name="windows-target-version" value="10.0" />
添加到 config.xml。 - 默认的 Windows 目标版本现在是 8.1。
- 支持使用
--appx
命令行参数来覆盖 Windows 目标版本 - CB-8946: 添加了
WindowsToastCapable
偏好设置,以指示应用程序可以支持 toast。这是为了支持本地通知插件。 - CB-8856 修复创建 Windows 应用商店提交版本时“Id”属性无效的问题
- CB-8307: 添加一个有效期为 25 年的临时证书。
- CB-8760 平台列表不显示 windows 平台的版本。
4.0.0 和 Windows 10 的已知问题
- Windows 10 Insider Preview 没有与命令行兼容的模拟器部署方案。要部署到模拟器,请在 Visual Studio 中打开您的解决方案文件。
- Visual Studio 2015 RC 中包含的 Windows SDK 不包含部署到 Windows 10 手机的工具。要部署到手机,请在 Visual Studio 中打开您的解决方案文件。
- WinJS 以内联方式包含在包中。将来,它可能会迁移到 NPM 依赖项。WinJS UI 功能不包含在内,应由您添加。(请参阅 Github 上的 WinJS)