Flutter: How to fix ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs

纵然是瞬间 提交于 2019-12-04 15:04:48

问题


When submitting my latest build, Apple suddenly returned a message saying that there was an issue, specifically:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

Since I'm not using the webview plugin I'm at a loss as to where the UIWebView API is being used. Any advice on how to solve this?

This error appears with the latest stable flutter build 1.7.8+hotfix.4 and with the following packages included:

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

All of the packages have been updated to their latest version.

The output of flutter doctor is:

[✓] 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!

回答1:


I think it was being used from the firebase_auth plugin. Try to update it to its latest version and then remember run pod update.




回答2:


I have this with our Cordova app and fixed it by updating a dependency.

Are you by any chance using the dependency or an other dependency is using the dependency "cordova-plugin-inappbrowser".

If so, this should be fixed in 3.1.0. See the release notes https://github.com/apache/cordova-plugin-inappbrowser/blob/master/RELEASENOTES.md And the PR fixing it https://github.com/apache/cordova-plugin-inappbrowser/pull/271

Update: it's not fixed yet. See issue on cordova-ios: https://github.com/apache/cordova-ios/issues/661 Note the: There is no deadline, I've contacted an Apple developer that has been tweeting about moving to WKWebView to see if he can provide more information, will update if I get a response.

Update: Cordova-ios 5.1.0 seems to fix this. See https://github.com/apache/cordova-ios/pull/715




回答3:


Since this has become the "goto answer" on Google for this rejection message, I'll add a React Native fix.

On React Native, considering that you've been a good developer and are not using UIWebView in your own code, use the following command to find out which of your dependencies still does use UIWebView:

grep -r UIWebView node_modules/*

There is a bit more info here.



来源:https://stackoverflow.com/questions/57700996/flutter-how-to-fix-itms-90809-deprecated-api-usage-apple-will-stop-accepting

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!