Flutter iOS App Rejected due to UIWebView 不再被接受

Posted

技术标签:

【中文标题】Flutter iOS App Rejected due to UIWebView 不再被接受【英文标题】:Flutter iOS App Rejected due to UIWebView are no longer accepted 【发布时间】:2021-06-21 20:43:52 【问题描述】:

我正在使用最新的 Flutter 版本和最新的插件,但我的应用仍然因为

而被拒绝

ITMS-90809:不推荐使用的 API - 不再接受使用 UIWebView 的新应用。相反,使用 WKWebView 来提高安全性和可靠性。了解更多信息 (https://developer.apple.com/documentation/uikit/uiwebview)。

颤振医生

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-x64, locale
    en-PK)
[!] android toolchain - develop for Android devices (Android SDK version 30.0.3)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.
[✓] Xcode - develop for ios and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.57.1)
[✓] Connected device (3 available)

pubspec.yaml 文件

version: 1.0.0+1

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter


  cupertino_icons: ^1.0.2
  http: ^0.13.3
  shared_preferences: ^2.0.6
  flutter_rating_bar: ^3.2.0+1
  dotted_border: ^2.0.0
  image_picker: ^0.8.0+3
  flutter_html: ^2.1.0
  jiffy: ^4.1.0
  geocoder: ^0.2.1
  geolocator: ^7.1.0
  url_launcher: ^6.0.6
  flutter_facebook_login: ^3.0.0
  android_intent: ^2.0.2
  badges: ^1.1.6
  google_static_maps_controller: ^0.4.1
  percent_indicator: ^2.1.9
  fluttertoast: ^7.1.6
  async: ^2.4.2
  multiselect_formfield: ^0.1.5
  google_maps_flutter: ^2.0.6
  firebase_core: ^1.3.0
  firebase_messaging: ^10.0.2
  firebase_auth: ^1.4.1
  google_sign_in: ^5.0.4
  flutter_twitter_login: ^1.1.0
  data_connection_checker: ^0.3.4
  social_share: ^2.1.1
  screenshot: ^0.3.0
  flutter_launcher_icons: ^0.9.0
  html_editor_enhanced: ^2.1.1
  webview_flutter: ^2.0.8



flutter_icons:
  android: "launcher_icon"
  ios: true
  image_path: "assets/launcher_icon.png"



dev_dependencies:
  flutter_test:
    sdk: flutter

我也在 xCode 上搜索过,但它不会显示任何 UIWebView。

请帮助我,这几天我就遇到了这个问题。

谢谢。

【问题讨论】:

【参考方案1】:

嗯,这是您所依赖的大量依赖项,其中一些依赖项肯定使用 UIWebView。 Flutter 使用 WKWebView 并且已经将其 API(曾经使用 UIWebView)完全迁移到了 WKWebView for IOS。

所以,你需要找出你拥有的众多依赖项中的哪个依赖项实际上仍在使用 UIWebView 并将其删除或替换。

编辑: 找到导致问题的依赖的可能方法是打开 xCode,选择左侧面板上的搜索选项卡,然后搜索 UIWebView。查看那里的哪些包与您在此处列出的依赖项相匹配。

【讨论】:

请看,我更新了我的问题,附上搜索UIWebView的截图,它不会显示任何。 在项目目录中尝试grep -r "UIWebView" .

以上是关于Flutter iOS App Rejected due to UIWebView 不再被接受的主要内容,如果未能解决你的问题,请参考以下文章

在项目或库中找不到清单中引用的类 io.flutter.app.FlutterApplication

Flutter Add-to-app 我可以在 iOS 视图控制器中添加半屏 Flutter 小部件吗

Flutter 应用中适用于 iOS 的 .app 文件在哪里?

Flutter APP开发学习概要

可以使用 Flutter 复制 iOS App Store 过渡吗?

Flutter:是不是有可能创建 App Widgets (Android) 和 Today Extensions (iOS)? [复制]