部落格 RSS 訂閱

如何使用 'WKWebViewOnly'
作者:Niklas Merz
2020年3月18日

Apple 開始拒絕包含 UIWebView 參考的應用程式。您需要更新您的應用程式來修正這個問題,這篇文章總結了所需的步驟。

這應該可以解決將應用程式上傳到 App Store Connect 後出現的警告

ITMS-90809:已棄用的 API 使用 - Apple 將停止接受使用 UIWebView API 的應用程式提交。

引入了一個新的 preference 標誌 WKWebViewOnly,以便在編譯時從 Cordova 的程式碼中移除所有 UIWebView 參考。建議將 cordova-ios 平台升級到 5.1.1 版本。

使用 WKWebView 外掛程式。

以下範例使用 [cordova-plugin-wkwebview-engine](https://github.com/apache/cordova-plugin-wkwebview-engine) 外掛程式

  • 新增外掛程式 cordova-plugin-wkwebview-engine,最好是最新版本 1.2.1
  • preference 屬性 CordovaWebViewEngine 新增到 config.xml 中。
  • feature 屬性 CDVWKWebViewEngine 新增到 config.xml 中。
  • preference WKWebViewOnly 新增到 config.xml 中。

使用 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>

仍然收到警告?

如果您仍然收到警告,很可能是您專案中的一個或多個外掛程式仍然參考了 UIWebView。您需要找出哪些外掛程式,並透過它們的支援管道(外掛程式的儲存庫)聯絡這些外掛程式的開發人員。他們需要透過移除參考或使用新的標誌包裝它們來修正他們的外掛程式。

使用其他 WKWebView 外掛程式

除了上述範例中的官方 WKWebView 外掛程式之外,還有其他替代方案。請確保它們已更新並使用最新版本。如果您在使用它們的外掛程式時遇到任何問題或使用問題,請閱讀它們的文件並透過它們的支援管道尋求幫助。

未來藍圖

下一個主要的 cordova-ios 版本將從程式碼中移除所有 UIWebView 的參考。該標誌也將在下一個主要版本中移除,因為 WKWebView 將成為 Cordova 的預設 webview。目前尚未有下一個主要版本的確切發布時間