Ionic Angular 部署到 Apple 时出现 90809 错误

Ionic Angular 90809 error when deploying to Apple

我对此做了很多研究,尽管这是一个非常常见的问题 none 对我有用的解决方案,所以我一直感到害怕: ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability

我的配置是这样的:

Ionic:

   Ionic CLI          : 6.10.1 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.4

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.1.0, ios 4.2.0, windows 4.4.2
   Cordova Plugins   : cordova-plugin-ionic-webview 5.0.0, (and 13 other plugins)

Utility:

   cordova-res : not installed
   native-run  : not installed

System:

   NodeJS : v10.16.2 (/usr/local/bin/node)
   npm    : 6.14.5
   OS     : macOS Catalina
   Xcode  : Xcode 11.5 Build version 11E608c

插件:

com.verso.cordova.clipboard 0.1.0 "Clipboard"
cordova-clipboard 1.3.0 "Clipboard"
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-crop 0.3.1 "CropPlugin"
cordova-plugin-device 1.1.4 "Device"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-ionic-webview 5.0.0 "cordova-plugin-ionic-webview"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.1 "StatusBar"
cordova-plugin-whitelist 1.3.1 "Whitelist"
cordova-plugin-x-socialsharing 5.6.3 "SocialSharing"
cordova-plugin-x-toast 2.6.0 "Toast"
cordova-sqlite-storage 2.2.0 "Cordova sqlite storage plugin"
es6-promise-plugin 4.2.2 "Promise"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-barcodescanner 7.0.2 "BarcodeScanner"
uk.co.workingedge.cordova.plugin.sqliteporter 1.1.1 "sqlite porter"

谁能认出尖叫的东西 "this one uses UIWebView and you should change it!"?

更新:

为了解决这个问题,我遵循了以下步骤:

<platform name="ios">
    <preference name="WKWebViewOnly" value="true" />
    ...
</platform>

到config.xml

我最近已针对确切问题修复了我的应用程序,以下是我为修复该问题所遵循的步骤:

1) 确保您的 cordova-plugin-ionic-webview 已更新到最新版本 5.0.0。您需要 运行 这两个命令来执行此操作。

ionic cordova plugin remove cordova-plugin-ionic-webview
ionic cordova plugin add cordova-plugin-ionic-webview@latest

2) 确保您的 cordova-ios 已更新到最新版本 6.0.0。 运行 这个命令更新它。

npm install cordova-ios@latest --save

3) 检查您的 package.json 以查看 cordova-ioscordova-plugin-ionic-webview 的版本是否更新。

4) 确保将 WKWebViewOnly 首选项添加到 config.xml 文件。

<platform name="ios">
    <preference name="WKWebViewOnly" value="true" />
    ...
</platform>

5) 这是最重要的一步。确保删除 ios 平台并重新添加。 运行 这些命令用于删除和添加 ios 平台。

ionic cordova platform rm ios
ionic cordova platform add ios

现在,当您构建 ios 应用程序并将其发布到应用程序商店时,您会发现问题已得到解决。