我们很高兴地宣布,我们刚刚发布了 Cordova iOS 6.0.0
!这是 Cordova 用于构建 iOS 移动应用程序的官方平台。
版本亮点
升级方法
cordova platform remove ios
cordova platform add [email protected]
此主要版本中最显著的更改是
-
增加了 Xcode 11 的兼容性,并将最低 iOS 版本提升至 11.0
截至 2020 年 4 月,苹果要求所有应用商店提交的应用都必须使用 Xcode 11 构建,并以 iOS 13 SDK 为目标。
苹果在 iOS 8.0–9.0 中弃用了
mediaPlaybackRequiresUserAction
属性,并将其替换为mediaTypesRequiringUserActionForPlayback
。苹果还在 iOS 8.0-9.0 中弃用了mediaPlaybackAllowsAirPlay
属性,并将其替换为allowsAirPlayForMediaPlayback
。如果您在项目的
config.xml
文件中配置了这些属性中的任何一个,建议您使用新的首选项选项MediaTypesRequiringUserActionForPlayback
或AllowsAirPlayForMediaPlayback
进行更新。此外,
MediaTypesRequiringUserActionForPlayback
的值也发生了变化。它过去是一个boolean
值,但现在是一个string
值,可以是all
、audio
、video
或none
。 -
将
WKWebView
支持移入 Cordova-iOS 并删除了UIWebView
代码由于此更改,
cordova-plugin-wkwebview-engine
插件已过时,并且将无法在此版本中使用。如果已安装此插件,可以使用cordova plugin remove cordova-plugin-wkwebview-engine
安全地删除它。此外,此版本引入了
WKURLSchemeHandler
支持。使用自定义方案来提供您的应用内容,可以修复由于WKWebView
对file
方案应用的严格安全策略而存在的 CORS 问题。您可以通过在config.xml
文件中设置首选项选项scheme
和hostname
来轻松配置您的 Cordova 项目以使用自定义方案。<preference name="scheme" value="app" /> <preference name="hostname" value="localhost" />
重要的是要知道,随着
WKURLSchemeHandler
的引入,已不再支持 iOS 10。 -
集成
SplashScreen
插件代码,并将启动图像替换为启动故事板如果您是从启动图像迁移而来,有关如何为启动故事板设置图像的详细信息,请参阅SplashScreen 文档。
- 修复了存在多个 Xcode 构建目标时覆盖捆绑标识符的问题
-
将最低 CocoaPods 版本要求提升至 1.8.0
自 CocoaPods 1.7.0 起,引入了 CDN 支持。它在 1.7.2 中最终确定,但直到 1.8.0 才配置为默认设置。使用 CDN 从传统的 GitHub 存储库中获取 podspec 可以极大地提高性能。使用 CDN,Cordova 用户不再需要等待 CocoaPod 的 GH 存储库同步。现在使用 pod 和全新的 CocoaPods 安装构建项目只需不到一分钟的时间。
您可以观看他们的演示视频,了解 CocoaPods 使用 CDN 后的速度有多快。
请在 issues.cordova.io 上报告您发现的任何问题!
更改包括
- GH-875 fix: 删除
q
的残留 - chore(
audit-license-headers
): 添加并更正许可证 - GH-874 chore: 清理并准备 6.0.0 版本
- GH-873 chore: 删除未分配的启动图像
- GH-872 chore: 删除迁移
English.lproj
的已弃用警告 - GH-871 chore: 为
CordovaLib
启用基本国际化 - GH-866 refactor: 默认使用文件方案
- GH-852 ci: 使用 github actions
- GH-869 refactor: 提升 eslint 版本,修复 lint 并重建 package-lock
- GH-860 breaking: 删除
q
依赖项 - GH-859 refactor: 使用
superspawn
- GH-851 breaking: 将
shelljs
替换为fs-extra
- GH-862 revert: 将
ios-sim
从^9.0.0
恢复到^8.0.2
- GH-863 chore (npm): 添加忽略列表
- GH-861 chore: 添加
package-lock.json
- GH-790 breaking feature: 集成启动屏幕并用启动故事板替换 (CB-13143)
- GH-769 breaking: 将 python 3 兼容性添加到
bin/cordova_plist_to_config_xml
- GH-847 breaking: 添加并使用带有修复的
fs-extra
- GH-853 breaking: 提升带有修复的
xcode
版本 - GH-850 breaking: 修复文件
chmod
- GH-849 breaking(
pod
): 删除未使用的 API 并将最低版本要求提升至1.8.0
- GH-848 breaking: 提升
[email protected]
版本 - GH-846 breaking(npm): 提升依赖项版本
- GH-845 breaking(npm): 提升开发依赖项版本
- GH-825 修复类型警告,并通过自动装箱简化代码。
- GH-615 (ios) 不要预先填充
orientation
- GH-820 仅将
bundleid
设置为主应用目标 - 更新 CONTRIBUTING.md
- GH-822 chore: 删除已弃用的
orientation
方法 - GH-810 从
README
中删除指向 wiki 的死链接 - GH-543 feat: 为 Cordova 库添加
Podspec
- GH-801 breaking (
UserAgent
): 删除CDVUserAgentUtil
并为WKWebView
实现 - GH-803 feature: 添加
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED
- GH-802 refactor: 应用各种 xcode 推荐的更新
- GH-800 tests: 更改
MediaTypesRequiringUserActionForPlayback
的注释值 - GH-781 breaking: 使用
WKURLSchemeHandler
提供应用内容 - GH-797 breaking: 删除 MediaPlaybackRequiresUserAction 并将
MediaTypesRequiringUserActionForPlayback
更新为正确的变量类型 - GH-798 refactor (
cordovaBoolSettingForKey
): 改进布尔值检查和原生日志记录 - GH-785 refactor: 弃用
mediaPlaybackAllowsAirPlay
- GH-794 style: 删除 Objective-C 测试模块中的多余空格
- GH-784 chore: 弃用
mediaPlaybackRequiresUserAction
- GH-783 breaking (
CDVURLProtocol
): 删除 - GH-789 chore: 修复已弃用的
stringByAddingPercentEscapesUsingEncoding
用法 - GH-788 chore: 删除已弃用的方法
viewDidUnload
- GH-780 breaking: 将 xcode 兼容性升级到 11.0
- GH-787 fix (
CDVWebViewEngine
): JavaScript 到原生调用的工作不正常 - GH-786 test: 仅在 Xcode 11 上运行
- GH-782 fix (
node
): 带有shebang
解释器的要求失败 - GH-779 breaking: 将
deployment-target
提升至11.0
- GH-773 refactor: 删除
uiwebview
并添加wkwebview
- GH-751 refactor: 使用模板字符串
- GH-749 refactor: 转换拆分出的变量
- GH-750 refactor: 转换对象简写
- GH-748 refactor: 不要将 this 别名为 self
- GH-747 refactor: 使用箭头函数
- GH-754 fix: 替换
Podfile
中的变量 - GH-746 refactor: 将
var
转换为let
/const
- GH-744 chore: 更新
eslint
并应用修复 - GH-743 chore: 提升
node
要求(>=10) - GH-731 CB-14135(ios): 转义
Podfile
中名称的所有单引号