部落格 RSS Feed

Cordova iOS 4.0.0
2015年12月08日

我們很高興地宣布 Cordova iOS 4.0.0 已發布。

這是一個主要版本,並且已移除已棄用的 API。某些第三方外掛程式可能需要更新才能相容。此版本增加了對可插拔網頁檢視的優先支援 - 也就是說,我們現在支援 WKWebView -- 一個為 iOS 綑綁的現代網頁檢視!

此平台現在支援用於啟動畫面和圖示的資產目錄 - 當您在 config.xml 中使用 <splash><icon> 標籤時,這對您來說是完全透明的。

ios-sim 現在已與平台捆綁在一起,您不再需要單獨安裝。但是對於 ios-deploy,您需要將版本更新到最新。

最低部署目標已更新為 iOS 8.0。這表示此平台版本僅在 iOS 8 及更高版本的裝置上進行測試,並且僅支援這些 iOS 版本。

cordova-ios@4.0.0 將成為下一個版本 cordova 中的預設 iOS 版本。如果您等不及了,可以立即試用

cd my_project
cordova platform update ios@4.0.0
# To install the WKWebView engine (optional):
cordova plugin add cordova-plugin-wkwebview-engine

我們正在將 cordova-plugin-wkwebview-engine 外掛程式發佈到 npm。如果您決定在我們發佈此外掛程式之前更新到 cordova-ios@4.0.0,請暫時透過 git 安裝此外掛程式。

cordova plugin add https://github.com/apache/cordova-plugin-wkwebview-engine.git#1.0.0

請注意,與預設的 UIWebView 相比,cordova-plugin-wkwebview-engine 外掛程式有一些限制,請參閱 README 以取得更多詳細資訊。

除了 <access> 標籤之外,還支援新的 <allow-intent><allow-navigation> 標籤,請參閱 此處 的說明。請注意,對於 cordova-ios-4.0.0,您需要安裝 cordova-plugin-whitelist

cordova 會將 <access><allow-navigation> 標籤轉換為 iOS 9 中新增的適當 應用程式傳輸安全性 (ATS) 指令。<access><allow-navigation> 標籤也支援兩個新的屬性minimum-tls-versionrequires-forward-secrecy

要升級

npm install -g cordova
cd my_project
cordova platform update ios@4.0.0

要明確新增它

cordova platform add ios@4.0.0

iOS 平台的新功能

  • CB-10136 - cordova prepare 中的錯誤 (平台 API)
  • CB-10048 - 將 <access> 標籤覆蓋為 ATS 指令 CB-10057 - 移除 <access> 標籤不會移除 ATS 項目
  • CB-10106 - 已新增橋接代理
  • CB-9827 - 已修復版本檔案以使其可要求
  • CB-9827 - 為 iOS 實作和公開 PlatformApi
  • CB-10106 - iOS 橋接器需要考慮橋接器變更
  • CB-10072 - 在 build.xcconfig 中新增 SWIFT\_OBJC\_BRIDGING_HEADER 值,從 pbxproj 中移除
  • CB-10004 - 將 CDVSystemSchemes 外掛程式名稱重新命名為更適當的名稱
  • CB-10001 CB-10003 處理 <allow-navigation><allow-intent>
  • CB-10025 - CDVWhiteList 無法剖析架構後沒有雙斜線的 URI
  • CB-9972 - 移除 iOS 白名單
  • CB-9883 CB-9948 更新 cordova.js
  • CB-9948 - 從 exec.js 中移除已棄用的命令格式
  • CB-9883 - 移除未使用的 iOS 橋接器
  • CB-9836 - 新增 .gitattributes 以防止在儲存庫中使用 CRLF 行結尾
  • CB-9787 - [CDVStartPageTest testParametersInStartPage] 單元測試失敗
  • CB-9917 - 重新修復。順序在 .gitattributes 中很重要
  • CB-9917 - 失敗:cordova platform add https://github.com/apache/cordova-ios.git#tagOrBranch
  • CB-9870 - 已更新 hello world 範本
  • CB-9609 - Cordova run opts 無法傳遞到實際裝置上的 ios-deploy
  • CB-9893 - 使用更多升級範例更新 API 變更文件
  • CB-9638 - cordova-ios 中缺少 Cordova/NSData+Base64.h - 已更新 API 變更文件
  • CB-9836 新增 .gitattributes 以防止在儲存庫中使用 CRLF 行結尾
  • CB-9685 - 修復在長按網頁檢視時,iOS9 上彈出放大鏡的問題。
  • CB-9800 - 修復貢獻連結。
  • 已將綑綁的 ios-sim 更新至 5.0.3
  • CB-9500 - 已將無符號引數新增至 iOS 建置
  • CB-9787 - [CDVStartPageTest testParametersInStartPage] 單元測試失敗 (已改善的修復)
  • CB-9754 - 圖示和啟動影像警告
  • CB-9719 - 將 allow_non_modular_includes 設定為 yes
  • CB-9685 - 修復在長按網頁檢視時,iOS9 上彈出放大鏡的問題
  • CB-9552 - 更新連結的平台會移除原始檔案
  • CB-6992 - 如果顯示名稱包含 Unicode 字元,則無法部署應用程式
  • CB-9726 - 將最低部署目標更新為 iOS 8.0
  • CB-9679 - iOS 9 的資源規則問題
  • CB-9721 - 在 build.xcconfig 中將 ENABLE_BITCODE 設定為 NO
  • CB-9698 - 在 ios copy-www-build-step.js 中新增 rsync 錯誤處理
  • CB-9671 - 從 travis.yml 中移除 ios-sim 的安裝
  • CB-9693 - 修復專案名稱中帶有空格的 www 副本
  • CB-9690 - 無法將 iPad 應用程式提交到 iOS 9 的 App Store
  • CB-9328 - 將 ios-sim 用作節點模組,而不是 CLI 公用程式
  • CB-9558 - 將 blob: 新增至 CDVUIWebViewDelegate::shouldLoadRequest 使用的 allowedSchemes (關閉 #163)
  • CB-9558 - 如果是 iframe,則 Blob 架構無法載入
  • CB-9667 - 在 cordova-ios 4.x 中建立失敗的測試 (與 CB-8789 未測試名稱中帶有空格的專案的提取要求相關)
  • CB-9650 - 在 cordova-ios 中針對 AppDelegate.m 範本變更更新 API 相容性文件
  • CB-9638 - cordova-ios 4.x 中缺少 Cordova/NSData+Base64.h
  • CB-8789 - 支援應用程式圖示和啟動畫面的資產目錄
  • CB-8789 - 資產目錄支援
  • CB-9642 - 將 CDVAvailability.h 中的 3.9.0、3.9.1、3.9.2 版本更新整合到 master
  • CB-9261 - Xcode 範本中損毀的本地化
  • CB-9656 - 在 Xcode 7.1 beta 中封存時,Xcode 找不到 CDVViewController.h
  • CB-9254 - cordova-ios 4.0.0-devupdate_cordova_subproject 命令導致建置錯誤
  • CB-9636 - 僅當要載入的 URL 通過引擎的 canLoadRequest 篩選器時,才載入 WebView 引擎
  • CB-9610 - 修復 Xcode 7cordova-ios 中的警告
  • CB-9613 - 如果 URL 中沒有主機名稱,則 CDVWhitelist::matches 會當機
  • CB-9485 - 使用 NSURLabsoluteString 方法
  • CB-8365 - 將 NSIntegerNSUInteger 工廠方法新增至 CDVPluginResult
  • CB-9266 - iOScordova run 看不到未執行的模擬器
  • CB-9462 - iOS 3.9.0 會中斷 npm link 模組
  • CB-9453 - 更新到 iOS@3.9.0 未建置
  • CB-9273 - 找不到複製 www 建置階段節點
  • CB-9266 - 暫時將目標預設值變更為 iPhone-5
  • CB-8197 - 將 ios 平台指令碼切換到 nodejs
  • CB-9203 - iOS 單元測試應使用 tmp 而不是相同資料夾
  • CB-8468 - 如果中斷點觸發從原生呼叫的 JavaScript 回呼,應用程式會凍結
  • CB-8812 - 將系統架構處理常式移至其自身的外掛程式 (CDVSystemSchemes)
  • CB-8812 - 通訊協定處理常式在第二次觸發時會引發錯誤
  • CB-9050 - cordova run --list 不會顯示您的 ios-sim 已過時
  • CB-8730 - 無法部署到裝置
  • CB-8788 - 從預設 iOS Cordova 建置中捨棄 armv7s 以與 Xcode 6 對齊
  • CB-9046 - cordova run ios --emulator --target "iPhone-5, 7.1" (具有執行階段的目標) 無效
  • CB-8906 - cordova run ios --target 無效
  • ios-sim 版本遞增至 4.0.0
  • ios-deploy 版本升級至 1.7.0
  • xcodebuild 版本升級至 6.0.0
  • CB-8895 - 將 CDVStartPageTests::testParametersInStartPage 變更為非同步測試
  • CB-8047 - WKWebView iOS8 wkwebview / 本機網頁伺服器外掛程式方向問題
  • CB-8838 - 將 commandQueue 推送移至 non-WK_WEBVIEW_BINDING 分支。(closes #136)
  • CB-8868 - ios 4.0.x 無法封存
  • CB-7767 - 移除 NSData+Base64 檔案,更新單元測試。
  • CB-8710 - cordova-ios Jasmine 測試不會清除建置產品,測試只能執行一次
  • CB-7767 - 移除 NSData+Base64 的使用
  • CB-8709 - 移除 CDVViewController.m 中過時的 CDVLocalStorage 修復 (以及樣式修復)
  • CB-8270 - 更新 Objective-C 單元測試以進行 JSON 序列化。也清理了單元測試工作區。
  • CB-8690 - 導出的標頭不在 Public 區段中,而是在 Project 區段中。已移動。
  • CB-8690 - 將檔案分組到 CordovaLib/Classes 中的資料夾中
  • CB-8697 - 移除預設範本中過時的 merges 資料夾參考
  • CB-5520 - 移除範本中指定的所有框架。依賴隱含的 Clang 模組載入。
  • CB-5520 - 從 .pbxproj 中移除大多數的建置設定,改到 .xcconfig
  • CB-5520 - 在預設範本中新增 cordova/build*.xcconfig 支援 (IDE 使用)
  • CB-8678 - config.xml 中啟動外掛程式名稱的大小寫不符錯誤
  • CB-7428 - 新增橋接標頭。確保所有部署目標都是 7.0,並將 Swift 執行階段新增至搜尋路徑 (closes #133)
  • CB-7826 - 新增 CDVPlugin 支援以從外掛程式資源包中取得項目
  • CB-8640 - 將 CDVAvailability.h 範本化,用於 coho 發佈工具
  • CB-8678 - 包含的核心外掛程式應透過設定而非程式碼新增
  • CB-8643 - 捨棄 iOS 6 支援,最低支援 iOS 7
  • CB-8677 - 移除條件式 IsAtLeastIosVersion 程式碼 (以及樣式修復)
  • CDVAvailability.h 中將版本更新至 4.0.0
  • CB-8556 - 將 handleOpenURL 功能移除到外掛程式中
  • CB-8474 - 從 CDVAppDelegate 中移除本機/遠端推送通知委派
  • CB-8464 - 移除 AppDelegate 中的非 ARC 程式碼
  • CB-8473 - 從範本中移除 AppDelegate 程式碼 (包含 uncrustify 樣式修復)
  • CB-8664 - 將 CDVPlugin 初始化設為私有
  • CB-7753 - 移除 CDVAvailabiltyDeprecated.h 中的 CDV_IsIPadCDV_IsIPhone5 巨集
  • CB-7000 - 移除已棄用的 CDVPluginCDVPluginResult 方法
  • 使 CDVViewControllerCDVPlugin 中的 webView 屬性成為動態的 (來自 CDVWebViewEngineProtocol 參考)。為 UIView 新增 scrollView 類別以實現向後相容性。
  • CB-8032 - 為區塊定義新增 typedef
  • CB-8032 - 在 CDVCommandDelegate 中新增屬性 (urlTransformer),以及樣式修復。
  • CB-6884 - 支援 iOS 8 WKWebView 下的新 Cordova 橋接器 (錯字修復)
  • CB-7184 - 實作 UIWebViewWKWebView 中對 mediaPlaybackAllowsAirPlay 的支援
  • CB-7047 - 支援 WKWebViewconfig.xml 偏好設定
  • CB-7182 - 在 iOS 8 專案中執行 mobile-spec 但使用 UIWebView 會導致例外狀況
  • CB-7047 - 支援 WKWebViewconfig.xml 偏好設定
  • CB-7182 - 在 iOS 8 專案中執行 mobile-spec 但使用 UIWebView 會導致例外狀況
  • 更清楚地分為 Public 和 Private 標頭。刪除大多數已棄用的符號。