Ionic iOS应用上传AppStore遇ITMS-90809:UIWebView弃用问题求助
解决ITMS-90809: UIWebView废弃API使用错误
问题背景
上传Ionic iOS应用至AppStore时触发ITMS-90809错误,提示新应用不再接受UIWebView,需改用WKWebView。已尝试更新插件、配置config.xml等操作,但问题持续存在。
当前配置信息
1. config.xml相关配置
<preference name="WKWebViewOnly" value="true" /> <feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
2. 核心依赖版本
- cordova-ios: ^6.2.0
- cordova-plugin-ionic-webview: ^5.0.0
3. 已安装插件列表
- cordova-open-native-settings 1.5.5
- cordova-plugin-advanced-http 3.2.2
- cordova-plugin-androidx-adapter 1.1.3
- cordova-plugin-androidx 3.0.0
- cordova-plugin-app-version 0.1.12
- cordova-plugin-ble-central 1.4.1
- cordova-plugin-camera 6.0.0
- cordova-plugin-compat 1.2.0
- cordova-plugin-device 2.1.0
- cordova-plugin-file 6.0.2
- cordova-plugin-geolocation 4.1.0
- cordova-plugin-inappbrowser 5.0.0
- cordova-plugin-insomnia 4.3.0
- cordova-plugin-ionic-keyboard 2.2.0
- cordova-plugin-ionic-webview 5.0.0
- cordova-plugin-ms-adal 0.10.1
- cordova-plugin-nativestorage 2.3.2
- cordova-plugin-network-information 2.0.2
- cordova-plugin-screen-orientation 3.0.2
- cordova-plugin-splashscreen 6.0.2
- cordova-plugin-statusbar 3.0.0
- cordova-plugin-whitelist 1.3.5
- cordova-plugin-wkwebviewxhrfix 0.1.0
- cordova-sqlite-storage 6.0.0
- cordova.plugins.diagnostic 6.1.0
- es6-promise-plugin 4.1.0
- phonegap-plugin-barcodescanner 8.1.0
- wifiwizard2 3.1.1
排查与解决步骤
1. 移除废弃的兼容插件
cordova-plugin-compat是旧版Cordova的兼容层,内部依赖UIWebView,直接卸载:
cordova plugin remove cordova-plugin-compat
2. 升级cordova-ios版本
当前6.2.0版本仍可能残留UIWebView相关代码,升级到最新稳定版(建议7.0+):
cordova platform remove ios cordova platform add ios@latest
3. 替换停止维护的插件
cordova-plugin-ms-adal已停止维护,替换为微软官方支持的@azure/msal-cordova:cordova plugin remove cordova-plugin-ms-adal cordova plugin add @azure/msal-cordova- 检查
phonegap-plugin-barcodescanner是否有更新,若没有则替换为cordova-plugin-barcodescanner的最新版本:cordova plugin remove phonegap-plugin-barcodescanner cordova plugin add cordova-plugin-barcodescanner@latest
4. 强化WKWebView配置
在config.xml中添加以下配置,确保编译时强制使用WKWebView:
<preference name="UseWKWebView" value="true" /> <preference name="WKWebViewOnly" value="true" /> <feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
5. 清理缓存并重新编译
ionic cordova clean ios ionic cordova build ios --prod --release
6. 验证最终包
用苹果官方工具检查IPA是否完全移除UIWebView:
otool -L platforms/ios/build/device/YourApp.app/YourApp | grep UIWebView
无输出则说明UIWebView已彻底移除,可正常上传AppStore。
内容的提问来源于stack exchange,提问作者sandy
相关产品推荐
相关产品推荐

