博客 RSS 订阅

Cordova iOS 6.0.0 发布!
作者:Bryan Ellis
2020年6月1日

我们很高兴地宣布,我们刚刚发布了 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 文件中配置了这些属性中的任何一个,建议您使用新的首选项选项 MediaTypesRequiringUserActionForPlaybackAllowsAirPlayForMediaPlayback 进行更新。

    此外,MediaTypesRequiringUserActionForPlayback 的值也发生了变化。它过去是一个 boolean 值,但现在是一个 string 值,可以是 allaudiovideonone

  • WKWebView 支持移入 Cordova-iOS 并删除了 UIWebView 代码

    由于此更改,cordova-plugin-wkwebview-engine 插件已过时,并且将无法在此版本中使用。如果已安装此插件,可以使用 cordova plugin remove cordova-plugin-wkwebview-engine 安全地删除它。

    此外,此版本引入了 WKURLSchemeHandler 支持。使用自定义方案来提供您的应用内容,可以修复由于 WKWebViewfile 方案应用的严格安全策略而存在的 CORS 问题。您可以通过在 config.xml 文件中设置首选项选项 schemehostname 来轻松配置您的 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-810README 中删除指向 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 中名称的所有单引号