【问题标题】:Flutter iOS app showing white screen on launch and hang up on that screenFlutter iOS 应用程序在启动时显示白屏并在该屏幕上挂断
【发布时间】:2020-04-26 22:20:59
【问题描述】:

我有一个使用 firebase auth 库的颤振应用程序。当我启动它的 iOS 版本时,它会显示一个空白的白色屏幕并挂断在该屏幕上。我按照所有步骤将一些与 firebase 相关的标志添加到 Info.plist 中,例如 FirebaseScreenRecordingEnabled - NO、FirebaseScreenRecordingDeactiv - YES 以及一两个以上。 我试图清理构建文件夹和颤动缓存。也尝试了以下答案: iOS Flutter with Firebase : white screen and SIGABRT in FlutterAppDelegate on launch

~/Documents/Work/Workspaces/flutter/myapp $ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.10.7-pre.80, on Mac OS X 10.15.2 19C57, locale en-IN)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.2)
[✓] Android Studio (version 3.5)
[!] VS Code (version 1.41.1)
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[!] Connected device
    ! No devices available

! Doctor found issues in 2 categories.

仅供参考,我正在将 Android Studio 用于 Flutter 应用。

这是来自 xCode logger 的日志:

2020-01-09 21:29:10.811285+0530 my-app[4621:1081677] Failed to find snapshot: /var/containers/Bundle/Application/57CC0DF5-D142-4748-A3D3-66E62A9F1A53/my-app.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin
2020-01-09 21:29:11.365554+0530 my-app[4621:1081942] flutter: Observatory listening on http://127.0.0.1:57358/yuCVtFtKdlI=/
2020-01-09 21:29:11.426615+0530 my-app[4621:1081677] Configuring the default Firebase app...
2020-01-09 21:29:11.427922+0530 my-app[4621:1081920] 6.14.0 - [Firebase/Core][I-COR000004] App with name __FIRAPP_DEFAULT does not exist.
2020-01-09 21:29:11.429326+0530 my-app[4621:1081920] 6.14.0 - [Firebase/Core][I-COR000008] The project's Bundle ID is inconsistent with either the Bundle ID in 'GoogleService-Info.plist', or the Bundle ID in the options if you are using a customized options. To ensure that everything can be configured correctly, you may need to make the Bundle IDs consistent. To continue with this plist file, you may change your app's bundle identifier to 'dev.bipin.myapp'. Or you can download a new configuration file that matches your bundle identifier from https://console.firebase.google.com/ and replace the current one.
2020-01-09 21:29:11.547978+0530 my-app[4621:1081677] Configured the default Firebase app __FIRAPP_DEFAULT.
2020-01-09 21:29:11.614019+0530 my-app[4621:1081932] [VERBOSE-2:engine.cc(127)] Engine run configuration was invalid.
2020-01-09 21:29:11.614685+0530 my-app[4621:1081932] [VERBOSE-2:shell.cc(443)] Could not launch engine with configuration.
2020-01-09 21:29:11.696741+0530 my-app[4621:1081928] 6.14.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60107000 started
2020-01-09 21:29:11.697266+0530 my-app[4621:1081928] 6.14.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
2020-01-09 21:29:13.657220+0530 my-app[4621:1081923] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2020-01-09 21:29:13.662995+0530 my-app[4621:1081923] [MC] Reading from public effective user settings.
2020-01-09 21:29:34.648535+0530 my-app[4621:1082005] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x14de28120] get output frames failed, state 8196
2020-01-09 21:29:34.649072+0530 my-app[4621:1082005] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x14de28120] get output frames failed, state 8196
2020-01-09 21:29:34.650329+0530 my-app[4621:1082005] TIC Read Status [1:0x0]: 1:57
2020-01-09 21:29:34.650477+0530 my-app[4621:1082005] TIC Read Status [1:0x0]: 1:57
2020-01-09 21:29:42.223040+0530 my-app[4621:1082027] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x14dd3cee0] get output frames failed, state 8196
2020-01-09 21:29:42.224070+0530 my-app[4621:1082027] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x14dd3cee0] get output frames failed, state 8196
2020-01-09 21:29:42.225360+0530 my-app[4621:1082027] TIC Read Status [2:0x0]: 1:57
2020-01-09 21:29:42.225503+0530 my-app[4621:1082027] TIC Read Status [2:0x0]: 1:57

但到目前为止还没有运气。任何人都可以在这里帮助我。 谢谢

【问题讨论】:

  • 请分享一些代码,我猜这和你的flutter代码有关
  • @Neli 添加了日志。

标签: ios flutter


【解决方案1】:

可能是package_info_plus plugin,在runApp(App());之前调用PackageInfo packageinfo = await PackageInfo.from Platform();方法会出现白屏

【讨论】:

    【解决方案2】:

    哦,我终于发现这个 Flutter 框架在 iOS 14 及更高版本的设备上存在问题,请在此处查看更多详细信息:https://github.com/flutter/flutter/issues/60657#issuecomment-688478590

    【讨论】:

      【解决方案3】:

      截至 2021 年 4 月 28 日,对我有用的方法(经过几天的奋斗):

      在 AppDelegate.swift (flutter-project/ios/Runner) 中: 添加这两行:

      FirebaseApp.configure()
      GeneratedPluginRegistrant.register(with: self)
      

      在终端:

      颤振构建 ios

      然后在 XCode 中运行你的项目

      【讨论】:

      • 是否有要导入该文件的包,我收到一条错误消息,提示“在范围内找不到 'FirebaseApp'”?
      • @LakShan 添加“导入 Firebase”
      【解决方案4】:

      我遇到过这个问题。

      我的方法是:

      在 pubspec.yaml 文件中运行包升级

      希望能帮到你。

      【讨论】:

        【解决方案5】:

        错误日志清楚地说明了这一点

        项目的Bundle ID不一致 使用“GoogleService-Info.plist”中的 Bundle ID 或 Bundle 如果您使用自定义选项,请在选项中添加 ID。确保 一切都可以正确配置,您可能需要使 捆绑 ID 一致。要继续使用此 plist 文件,您可以 将您应用的捆绑标识符更改为“com.tethys.client”。或者你可以 下载与您的捆绑标识符匹配的新配置文件 从https://console.firebase.google.com/ 替换当前的。

        尝试从 iOS 项目中替换您的 GoogleService-Info.plist。 确保它具有有效的 Bundle ID

        另外, 在创建存档或分发存档之前,请确保您是否正在运行以下命令。

        flutter build ios --release

        flutter build ios

        flutter build 默认为--release

        【讨论】:

          【解决方案6】:

          颤抖干净

          颤振构建--发布

          然后是 XCode/存档

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-10-03
            • 1970-01-01
            • 2020-08-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-03-18
            相关资源
            最近更新 更多