博客 RSS 订阅

Cordova iOS 7.0.0 发布!
作者:Bryan Ellis
2023 年 7 月 10 日

我们很高兴地宣布,我们刚刚发布了 Cordova iOS 7.0.0!这是 Cordova 用于构建 iOS 应用程序的受支持平台之一。

升级步骤

cordova platform remove ios
cordova platform add [email protected]

全新安装步骤

cordova platform add [email protected]

版本亮点

重大更改

  • framework 标签中移除 podspec 类型

    自 Cordova-iOS 5.0.0 以来,添加了新的 podspec 标签,以提高 CocoaPods 提供的功能的可读性和支持。

    此版本正式删除了 framework 标签的旧 type="podspec" 实现。如果您维护插件并且仍然使用 framework 标签加载 pod specs,建议迁移到较新的实现。

    有关实现规范,请参阅我们的 Apache Cordova - Podspec 文档。

  • 移除默认的 CONFIGURATION_BUILD_DIR 覆盖

    这将更改生成输出文件的位置。

    • build/emulator 将变为 build/Debug-iphonesimulator
    • build/device 将变为 build/Release-iphoneos

    这将有助于确保调试和发布文件永远不会在同一目录中混淆,并提高对 macOS maccatalyst 构建的支持。

  • 更新支持的 NodeJS 版本

    我们已停止支持 NodeJS 14.x,并将最低 NodeJS 要求提高到大于或等于 16.13.0。

  • 删除平台二进制文件

    我们不再在 cordova-ios npm 包或 GitHub 存储库中提供或打包以平台为中心的工作流二进制文件。

    请使用 cordova CLI 工具来管理您的 Cordova 项目插件和平台配置。

  • Images.xcassets 重命名为 Assets.xcassets

  • CDVViewController 中删除已弃用的 API colorFromColorString
  • 从公共 API 中删除 CDVCommandDelegateImpl

新功能

  • 添加 LimitsNavigationsToAppBoundDomains 偏好设置配置

    此偏好设置允许您使用 cookie 身份验证或浏览器 API,但需要将值设置为 YES。默认值为 NO

  • 支持 Apple Cloud Distribution Signing

    Apple Cloud Distribution Signing 允许使用 AppStore Connect API 密钥自动管理分发签名证书和配置文件。使用 Cordova-iOS 7.0.0,您可以在 build.json 中或作为 cordova 工具的命令行参数指定 AppStore Connect API 凭据。

    这些选项是 authenticationKeyPathauthenticationKeyIDauthenticationKeyIssuerID,它们与现有的 automaticProvisioning 选项结合使用。

  • 启用 Mac Catalyst 支持

    使用 Cordova-iOS 构建的应用程序现在可以使用 Catalyst 运行时定位 macOS。可以通过选中 Xcode 项目设置中的“macOS - Catalyst”复选框,然后在 Xcode 中为 macOS 目标进行构建来启用此功能。

    目前,不支持从 Cordova 的命令行工具为 Catalyst 构建。

请在我们的 Cordova-iOS GitHub 问题跟踪器上报告您发现的任何问题!

变更日志

重大更改

功能

  • GH-1249 feat: 添加 LimitsNavigationsToAppBoundDomains 配置键
  • GH-1320 feat: 添加 listTarget api & 恢复原始 bin 文件位置
  • GH-1266 feat(plugman): 支持 framework link 属性
  • GH-1276 feat: 支持 Apple Cloud Distribution 签名
  • GH-1210 feat: 支持扩展导出选项
  • GH-1251 feat: 支持多个配置文件
  • GH-1186 feat(versions): 打印错误消息,而不是错误对象
  • GH-1168 feat(catalyst): 启用 Mac Catalyst 支持
  • GH-1050 feat: 添加 CDVWebViewEngineConfigurationDelegate
  • GH-1154 feat: CordovaLib 的 Swift 包管理器支持

修复

  • GH-1354 fix: 各个 ObjC/模板清理
  • GH-1341 fix: 尝试在准备时更新 Podfile 部署目标
  • GH-1343 fix: 在测试项目中一致地应用新的 Xcode 标志
  • GH-1126 fix: 替换 Podfile 中的 podspec 变量
  • GH-1336 fix: Xcode 15 Beta
  • GH-1337 fix: 使 WebView 在加载时成为第一响应者
  • GH-1326 fix: 删除 CDVViewController 时内存泄漏
  • GH-1312 fix(create): 确保 Xcode 项目文件中的 Unix 路径
  • GH-1315 fix(splashscreen): 旋转后的定位
  • GH-1295 fix(CDVPlugin): swift init
  • GH-1255 fix: 从过时的 cordova-plugin-splashscreen 导入类型定义
  • GH-1170 fix(bin/create): 设置失败时的退出代码
  • GH-1171 fix(spec/create): 处理 createAndBuild 承诺
  • GH-1140 fix: 按环境分隔符拆分 xcode 项目位置

重构

  • GH-1206 refactor: 平台版本逻辑
  • GH-1204 refactor: 移动 Cordova 最小模板
  • GH-1203 refactor!: 不要将 JS 库复制到平台项目
  • GH-1202 refactor: 不要从脚本位置推断项目根目录
  • GH-1201 refactor(create): 将主要实现转换为类
  • GH-1200 refactor(create): 按广度优先调用顺序对函数排序
  • GH-1199 refactor(create): 进一步清理
  • GH-1198 refactor(create): 清理 createProject
  • GH-1196 refactor: 将项目模板移出 bin,并进行代码更改
  • GH-1195 refactor(create): 清理 copyTemplateFiles
  • GH-1194 refactor(create)!: 移动 apple_* 二进制文件并清理 copyScripts
  • GH-1193 refactor: 清理创建脚本
  • GH-1190 refactor: 将 superspawn 替换为 execa
  • GH-1188 refactor: 隐藏构建和运行的实现
  • GH-1189 refactor(run): 代码清理
  • GH-1185 refactor(versions): DRY 版本二进制代码
  • GH-1167 refactor: Api 类
  • GH-1158 refactor: 将 copy-www-build-step 脚本替换为构建阶段
  • GH-1032 refactor: 更新允许列表名称
  • GH-1116 refactor(projectFile): 删除对 underscore 的依赖

杂项

  • chore(rat): 将自动生成的 xcode 文件添加到忽略列表
  • GH-1339 chore: 删除未使用的 BackupWebStorage 偏好设置
  • GH-1308 chore: 删除长期未使用的 codeSignResourceRules 选项
  • GH-1183 chore: 删除未使用和过时的 listStartedEmulators
  • GH-1174 chore: 删除陈旧的 coffeescript 测试
  • GH-1173 chore: 从模板中删除未使用的导入
  • GH-1160 chore(swiftpm): 修复 CordovaLib Swift 包
  • GH-1034 chore: 删除更多已弃用的 UIWebView 内容
  • GH-1145 chore: npmrc
  • GH-1129 chore: 重建 package-lock.json 以解决报告的 npm 审计漏洞
  • GH-1105 chore: 添加未声明的依赖项 underscore

其他

  • GH-1197 build: 在 npm prepare 期间构建 cordova.js
  • GH-1317 ci: 添加 node 20.x
  • GH-1307 ci: 删除非 darwin 作业的 NodeJS 14 测试
  • GH-1277 ci(workflow): 更新依赖项
  • GH-1271 ci: 删除 Node 10-12 & 添加 Node 16-18。
  • GH-1237 dep: 将 simple-plist 从 1.3.0 提升到 1.3.1
  • GH-1208 dep: 提升 jasmine@^3.10.0
  • GH-1187 test(version): 将两个测试套件合并为一个
  • GH-1184 test(create): 进一步增加超时时间,以避免误报
  • GH-1177 test(create): 减少在名称变体上花费的时间
  • GH-1179 test: 更简单地杀死正在运行的模拟器
  • GH-1178 test(versions): 调用 pod 时增加测试超时
  • GH-1176 test(create): 增加测试超时
  • GH-1133 doc: README 改进(清理、xcode 调试等)