當前 cordova-ios 最新版本 5.1.1
新版本 cordova-ios 將刪除 UIWebView 代碼中的所有引用。WKWebView 將是 Cordova 的默認 Web 視圖。
一、添加 cordova-ios的 平台環境
當前最新版本 5.1.1
cordova platform add ios@5.1.1;
二、添加 WKWebView 插件
http://cordova.axuer.com/plugins/ cordova中文網
Cordova 項目中添加 cordova-plugin-wkwebview-engine 插件
cordova plugin add cordova-plugin-wkwebview-engine
config.xml 中需要添加配置
<platform name="ios">
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</platform>
三、可能存在的問題
1、
解決 WKWebView 無法訪問 http/https 請求
WkWebview 啟動的 index.html 不能訪問 http/https 請求,需要結合 cordova-plugin-wkwebview-file-xhr 插件。
插件默認只攔截 https 請求
Cordova 項目中添加 cordova-plugin-wkwebview-file-xhr 插件
cordova plugin add cordova-plugin-wkwebview-file-xhr
config.xml 中添加配置
<preference name="InterceptRemoteRequests" value="all" />
2、標簽中外鏈圖片不顯示
建議換成https協議,或者緩存本地調用
3、任然無法通過IOS審核
需要把項目中運用的cordova更新到最新版本;
4、WKWebview 無法顯示下載的圖片
真機下只能顯示 Tmp 目錄下的圖片文件,所以如果你有下載、顯示本地圖片的,需要更換文件目錄為 Tmp目錄。
注:Tmp 目錄是 file:///var/mobile/Containers/Data/Applications/<GUID of app>/tmp/
可使用 cordova.file.tempDirectory 常量得到這個目錄