部落格 RSS Feed

Cordova iOS 7.0.0 版本發佈!
作者:Bryan Ellis
2023 年 7 月 10 日

我們很高興地宣布,我們剛剛發佈了 Cordova iOS 7.0.0!這是 Cordova 支援的建置 iOS 應用程式的平台之一。

升級步驟

cordova platform remove ios
cordova platform add ios@7.0.0

全新安裝步驟

cordova platform add ios@7.0.0

版本重點

重大變更

  • framework 標籤中移除 podspec 類型

    自 Cordova-iOS 5.0.0 起,新增了 podspec 標籤,以提高 CocoaPods 提供的功能的可讀性和支援性。

    此版本正式移除 framework 標籤的舊 type="podspec" 實作。如果您維護外掛程式並仍使用 framework 標籤載入 pod 規格,建議您遷移到較新的實作。

    有關實作規格,請參閱我們的 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 簽署

    Apple Cloud Distribution 簽署允許使用 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-1340 chore!: 從 framework 標籤中移除 podspec 支援
  • GH-1310 feat!: 移除一些 Xcode 建置目錄覆寫
  • GH-1305 dep!: 更新所有可能的相依性,並更新 node 引擎要求 >=16.13.0
    • semver@7.4.0
    • plist@3.0.6
    • fs-extra@11.1.1
    • cordova-common@5.0.0
    • nopt@7.1.0
    • which@3.0.0
    • @cordova/eslint-config@5.0.0
    • jasmine@4.6.0
    • rewire@6.0.0
  • GH-1180 refactor!: 捨棄平台二進位檔
  • GH-1169 chore!: 將 Images.xcassets 重新命名為 Assets.xcassets
  • GH-1161 chore!: 重大 API 清理
  • GH-1182 dep(dev)!: 使用更正更新 eslint
  • GH-1181 dep!: 使用最新的相依性
    • nyc@^15.1.0

功能

  • 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 Package Manager 支援

修正

  • 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 promises
  • 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: 以 execa 取代 superspawn
  • 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 Package
  • GH-1034 chore: 移除更多已棄用的 UIWebView 項目
  • GH-1145 chore: npmrc
  • GH-1129 chore: 重建 package-lock.json 以解決回報的 npm 稽核漏洞
  • GH-1105 chore: 新增未宣告的相依性 underscore

其他

  • GH-1197 build: 在 npm 準備期間建置 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 測試:更簡化的終止執行中模擬器方式
  • GH-1178 測試 (版本):增加調用 pod 時的測試逾時時間
  • GH-1176 測試 (建立):增加測試逾時時間
  • GH-1133 文件:README 文件的改進(清理、Xcode 除錯等)