我們很高興地宣布 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-version
和 requires-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-dev
的update_cordova_subproject
命令導致建置錯誤 - CB-9636 - 僅當要載入的 URL 通過引擎的
canLoadRequest
篩選器時,才載入WebView
引擎 - CB-9610 - 修復
Xcode 7
下cordova-ios
中的警告 - CB-9613 - 如果 URL 中沒有主機名稱,則
CDVWhitelist::matches
會當機 - CB-9485 - 使用
NSURL
的absoluteString
方法 - CB-8365 - 將
NSInteger
、NSUInteger
工廠方法新增至CDVPluginResult
- CB-9266 - iOS 的
cordova 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_IsIPad
和CDV_IsIPhone5
巨集 - CB-7000 - 移除已棄用的
CDVPlugin
和CDVPluginResult
方法 - 使
CDVViewController
和CDVPlugin
中的 webView 屬性成為動態的 (來自CDVWebViewEngineProtocol
參考)。為UIView
新增 scrollView 類別以實現向後相容性。 - CB-8032 - 為區塊定義新增
typedef
。 - CB-8032 - 在
CDVCommandDelegate
中新增屬性 (urlTransformer
),以及樣式修復。 - CB-6884 - 支援 iOS 8
WKWebView
下的新 Cordova 橋接器 (錯字修復) - CB-7184 - 實作
UIWebView
和WKWebView
中對mediaPlaybackAllowsAirPlay
的支援 - CB-7047 - 支援
WKWebView
的config.xml
偏好設定 - CB-7182 - 在 iOS 8 專案中執行 mobile-spec 但使用
UIWebView
會導致例外狀況 - CB-7047 - 支援
WKWebView
的config.xml
偏好設定 - CB-7182 - 在 iOS 8 專案中執行
mobile-spec
但使用UIWebView
會導致例外狀況 - 更清楚地分為 Public 和 Private 標頭。刪除大多數已棄用的符號。