Flutter:如何修复ITMS-90809:不推荐使用的API-Apple将停止接受使用UIWebView API的应用程序的提交

Pau*_*aue 32 uiwebview ios flutter

在提交我的最新版本时,Apple突然返回一条消息,指出存在问题,特别是:

ITMS-90809:不推荐使用的API-Apple将停止接受使用UIWebView API的应用程序的提交。有关更多信息,请参见https://developer.apple.com/documentation/uikit/uiwebview

由于我没有使用webview插件,所以我对使用的位置一无所知UIWebView API。关于如何解决这个问题的任何建议?

最新的稳定flutter版本1.7.8 + hotfix.4并包含以下软件包会出现此错误:

http: ^0.12.0
shared_preferences: ^0.4.3
intl: any
permission_handler: ^2.1.2
contacts_service: ^0.2.8
image: ^2.0.5
cached_network_image: ^1.0.0
url_launcher: ^5.0.1
path_provider: ^0.5.0+1
after_layout: ^1.0.7
connectivity: ^0.4.3+1
device_info: ^0.4.0+2
firebase_auth: ^0.11.1+7
firebase_messaging: ^5.1.2
firebase_analytics: ^5.0.0
notification_permissions: ^0.4.0
Run Code Online (Sandbox Code Playgroud)

所有软件包都已更新为最新版本。

输出flutter doctor为:

[?] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.6 18G87, locale en-US)
    • Flutter version 1.7.8+hotfix.4 at /Users/per/flutter
    • Framework revision 20e59316b8 (6 weeks ago), 2019-07-18 20:04:33 -0700
    • Engine revision fee001c93f
    • Dart version 2.4.0

[?] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/per/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[?] Xcode - develop for iOS and macOS (Xcode 10.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.3, Build version 10G8
    • CocoaPods version 1.7.4

[?] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

[?] Android Studio (version 3.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 31.3.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[?] VS Code (version 1.31.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.25.1

[?] Connected device (1 available)
    • Nexus 6P • 5VT7N15C31001152 • android-arm64 • Android 8.1.0 (API 27)

• No issues found!
Run Code Online (Sandbox Code Playgroud)

Pab*_*tta 18

我认为它是从firebase_auth插件中使用的。尝试将其更新到最新版本,然后记住运行pod pod update


Kla*_*aak 7

我的Cordova应用程序具有此功能,并通过更新依赖项对其进行了修复。

您是偶然使用依赖还是其他依赖正在使用依赖“ cordova-plugin-inappbrowser”。

如果是这样,应在3.1.0中修复此问题。参见发行说明https://github.com/apache/cordova-plugin-inappbrowser/blob/master/RELEASENOTES.md 以及PR对其进行修复https://github.com/apache/cordova-plugin-inappbrowser/pull/ 271

更新:尚未修复。请参阅cordova-ios上的问题:https : //github.com/apache/cordova-ios/issues/661 注意:没有截止日期,我已经联系了一个苹果开发人员,该开发人员一直在发推文,准备转移到WKWebView,以查看是否他可以提供更多信息,如果收到回复,将会更新。

更新:Cordova-ios 5.1.0似乎可以解决此问题。参见https://github.com/apache/cordova-ios/pull/715

  • 另请参阅https://github.com/apache/cordova-ios/issues/661 (2认同)

Vai*_*den 6

由于这已成为 Google 上针对此拒绝消息的“转到答案”,因此我将添加一个 React Native 修复程序。

在 React Native 上,考虑到你已经是一名优秀的开发人员并且没有在你自己的代码中使用 UIWebView,使用以下命令找出你的哪些依赖项仍然使用 UIWebView:

grep -r UIWebView node_modules/*
Run Code Online (Sandbox Code Playgroud)

有一点更多信息在这里

  • @flutter grep -r UIWebView ios/Pods/ (3认同)