0

我对此进行了相当多的研究,尽管这是一个非常常见的问题,但没有一个解决方案对我有用,所以我一直感到恐惧: 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"

任何人都可以识别出一些尖叫“这个使用 UIWebView,你应该改变它!”的东西。?

更新:

为了解决这个问题,我按照以下步骤操作:

  • 确保cordova-plugin-ionic-webview版本 >= 5.0.0
  • 添加
<platform name="ios">
    <preference name="WKWebViewOnly" value="true" />
    ...
</platform>

到 config.xml

  • 更新的离子npm install -g ionic@latest
  • 更新科尔多瓦npm install -g cordova@latest
  • 更新的离子脚本npm install @ionic/app-scripts@latest
  • 然后去掉了iOS平台ionic cordova platform rm ios
  • 重新添加了iOS平台ionic cordova platform add ios
  • 并重建它ionic cordova prepare ios
4

1 回答 1

3

我最近已针对确切问题修复了我的应用程序,以下是我为解决该问题而采取的步骤:

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-ios和更新cordova-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 应用并将其发布到应用商店时,您可以看到问题将得到修复。

于 2020-06-18T13:06:01.153 回答