用ionic开发移动端app,最近打算发布iOS版本。打包上传的时候收到邮件:
ITMS-90809: Deprecated API Usage - New apps that use
UIWebView are no longer accepted.
原因在于App Store不再接受包含UIWebview控件的app提交审核,必须使用iOS8之后就出的WKWebview,具体原因在于后者性能更高更安全。
根据要求删除代码里有关UIWebview的东西,但我们是用ionic开发的,这其中对于原生的调用并不是自己写的。好在ionic的WebView插件已经更新支持只用WKWebview。具体按照如下步骤:
- 删除原本的iOS项目,使用命令:
ionic cordova platform remove ios
- 配置文件 config.xml 添加以下代码,用来声明只使用WKWebview
<platform name="ios">
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</platform>
- 重新添加5.1.1之后的ios,或者最新版@latest
ionic cordova platform add ios@5.1.1
- 安装最新版的WebView插件
ionic cordova plugin add cordova-plugin-ionic-webview@latest
-
之后就是重新打包上传了,这次没有问题邮件,上传成功。