部落格 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 ios@6.0.0

此主要版本中最值得注意的變更如下:

  • 新增 Xcode 11 相容性,並將最低 iOS 版本提高至 11.0

    截至 2020 年 4 月,Apple 要求所有應用程式商店提交的內容都必須使用 Xcode 11 建置,並以 iOS 13 SDK 為目標。

    Apple 已在 iOS 8.0–9.0 中棄用 mediaPlaybackRequiresUserAction 屬性,並以 mediaTypesRequiringUserActionForPlayback 取代。Apple 也已在 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 修正:移除 q 殘留
  • 雜項 (audit-license-headers):新增及修正授權
  • GH-874 雜項:清除並準備 6.0.0 版本
  • GH-873 雜項:移除未指派的啟動影像
  • GH-872 雜項:移除遷移 English.lproj 已棄用的警告
  • GH-871 雜項:為 CordovaLib 啟用基本國際化
  • GH-866 重構:預設為檔案配置
  • GH-852 ci:使用 github actions
  • GH-869 重構:提高 eslint 版本,並修復程式碼檢查錯誤及重建 package-lock
  • GH-860 重大變更:移除 q 依賴
  • GH-859 重構:使用 superspawn
  • GH-851 重大變更:以 fs-extra 取代 shelljs
  • GH-862 回復:將 ios-sim^9.0.0 降級至 ^8.0.2
  • GH-863 雜項 (npm):新增忽略清單
  • GH-861 雜項:新增 package-lock.json
  • GH-790 重大功能:整合並以啟動故事板取代 SplashScreens (CB-13143)
  • GH-769 重大變更:為 bin/cordova_plist_to_config_xml 新增 Python 3 相容性
  • GH-847 重大變更:新增及使用 fs-extra,並修正錯誤
  • GH-853 重大變更:提高 xcode 版本,並修正錯誤
  • GH-850 重大變更:修正檔案的 chmod
  • GH-849 重大變更 (pod):移除未使用的 API,並將最低版本要求提高至 1.8.0
  • GH-848 重大變更:提高 cordova-common@4.0.1 版本
  • GH-846 重大變更 (npm):提高依賴套件版本
  • GH-845 重大變更 (npm):提高開發依賴套件版本
  • GH-825 使用自動裝箱修正類型警告並簡化程式碼。
  • GH-615 (ios) 不要預先填入 orientation
  • GH-820 只將 bundleid 設定為主要應用程式目標
  • 更新 CONTRIBUTING.md
  • GH-822 雜項:移除已棄用的 orientation 方法
  • GH-810README 移除 wiki 的無效連結
  • GH-543 功能:為 Cordova 程式庫新增 Podspec
  • GH-801 重大變更 (UserAgent):捨棄 CDVUserAgentUtil 並為 WKWebView 實作
  • GH-803 功能:新增 CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED
  • GH-802 重構:套用各種 Xcode 建議的更新
  • GH-800 測試:變更 MediaTypesRequiringUserActionForPlayback 的註解值
  • GH-781 重大變更:使用 WKURLSchemeHandler 服務應用程式內容
  • GH-797 重大變更:移除 MediaPlaybackRequiresUserAction,並將 MediaTypesRequiringUserActionForPlayback 更新為正確的變數類型
  • GH-798 重構 (cordovaBoolSettingForKey):改進布林值檢查和原生記錄
  • GH-785 重構:棄用 mediaPlaybackAllowsAirPlay
  • GH-794 樣式:移除 Objective-C 測試模組中的額外空格
  • GH-784 雜項:棄用 mediaPlaybackRequiresUserAction
  • GH-783 重大變更 (CDVURLProtocol):刪除
  • GH-789 雜項:修正已棄用的 stringByAddingPercentEscapesUsingEncoding 用法
  • GH-788 雜項:移除已棄用的方法 viewDidUnload
  • GH-780 重大變更:將 Xcode 相容性升級至 11.0
  • GH-787 修正 (CDVWebViewEngine):JavaScript 對 Native 的呼叫無法運作
  • GH-786 測試:僅在 Xcode 11 上執行
  • GH-782 修正 (node):使用 shebang 直譯器時需要失敗
  • GH-779 重大變更:將 deployment-target 提高至 11.0
  • GH-773 重構:捨棄 uiwebview 並新增 wkwebview
  • GH-751 重構:使用樣板字串
  • GH-749 重構:轉換分隔變數
  • GH-750 重構:轉換物件簡寫
  • GH-748 重構:不要將 this 別名為 self
  • GH-747 重構:使用箭頭函式
  • GH-754 修正:取代 Podfile 中的變數
  • GH-746 重構:將 var 轉換為 let/const
  • GH-744 雜項:更新 eslint 並套用修正
  • GH-743 雜項:提高 node 要求 (>=10)
  • GH-731 CB-14135(ios):逸出 Podfile 中名稱的所有單引號