首页 > 解决方案 > 离子框架:ITMS-90809:UIWebView API 弃用(遵循所有说明,但我收到弃用消息)

问题描述

我正在使用 Ionic Framework 来构建 iOS 应用程序。当我将构建上传到 AppStoreConnect(例如通过 TestFlight 对其进行测试)时,我收到了众所周知的弃用消息:

ITMS-90809:已弃用的 API 使用 - 从 2020 年 4 月开始,Apple 将停止接受使用 UIWebView API 的新应用提交。有关更多信息,请参阅https://developer.apple.com/documentation/uikit/uiwebview

但是,我已按照所有说明(例如来自官方Ionic 博客)并且不知道我可能错过了什么。

我做了什么:

  1. 将所有 cordova 插件更新到最新版本(例如cordova-plugin-ionic-webview现在在 v4.1.3 上;cordova-plugin-inappbrowser在 v3.2.0 上)
  2. 检查 Cordova 平台(它是ios 5.1.1
  3. 确保<preference name="WKWebViewOnly" value="true"/>我的 config.xml 中有
  4. ionic cordova prepare iosionic cordova build ios

我仍然收到弃用消息,我已经尝试删除整个 ios 平台并在之后再次添加它,但没有帮助。

我正在使用的科尔多瓦插件列表:

card.io.cordova.mobilesdk 2.1.0 "CardIO"
com-badrit-base64 0.2.0 "Base64"
com.paypal.cordova.mobilesdk 3.5.0 "PayPalMobile"
cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-camera-with-exif 1.3.1 "cordova-plugin-camera-with-exif"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-file-opener2 2.2.1 "File Opener2"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-filepath 1.5.6 "cordova-plugin-filepath"
cordova-plugin-ftp 1.1.1 "Ftp"
cordova-plugin-google-analytics 1.8.6 "Google Universal Analytics Plugin"
cordova-plugin-inappbrowser 3.2.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.1.3 "cordova-plugin-ionic-webview"
cordova-plugin-nativegeocoder 3.2.2 "NativeGeocoder"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-taptic-engine 2.1.0 "Taptic Engine"
cordova-plugin-vibration 3.1.1 "Vibration"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-sqlite-storage 3.4.0 "Cordova sqlite storage plugin - cordova-sqlite-storage plugin version"
cordova.plugins.diagnostic 5.0.1 "Diagnostic"

离子信息:

Ionic:

   Ionic CLI                     : 5.4.16 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.11.10
   @angular-devkit/build-angular : 0.803.21
   @angular-devkit/schematics    : 8.1.3
   @angular/cli                  : 8.1.3
   @ionic/angular-toolkit        : 2.0.0

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 17 other plugins)

Utility:

   cordova-res (update available: 0.11.0) : 0.8.1
   native-run                             : 0.3.0

System:

   ios-deploy : 1.9.4
   ios-sim    : 8.0.2
   NodeJS     : v10.16.3 (/usr/local/bin/node)
   npm        : 6.14.4
   OS         : macOS Mojave
   Xcode      : Xcode 11.2.1 Build version 11B500

有谁知道什么可能导致这个问题?
我将在接下来的几天/几周内发布一个应用程序。

非常感谢您!

标签: cordovaionic-frameworkuiwebviewitms-90809

解决方案


您应该在二进制文件中有对 UIWebView 的引用,您可以在您的项目上运行以下命令来找到它并删除插件或更新它。

grep -r "UIWebView" platform/ios

来源:https ://cordova.apache.org/howto/2020/03/18/wkwebviewonly.html#comment-4855730838


推荐阅读