如何使用“WKWebViewOnly”
2020年3月18日
苹果公司开始拒绝包含UIWebView
引用的应用程序。您需要更新您的应用程序以解决此问题,这篇文章总结了所需的步骤。
这应该可以解决将应用上传到 App Store Connect 后出现的警告
ITMS-90809:已弃用的 API 使用 - 苹果将停止接受使用 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。目前,下一个主要版本的没有 ETA。