添加 FirebaseApp.configure() 来实现 Firebase 集成时,Flutter iOS 应用程序在 Xcode 中崩溃

Cos*_*ica 1 xcode ios firebase swift flutter

我正在尝试按照步骤将 Firebase 连接到 Flutter 生成的 iOS 应用程序。

在最后一步中,当将FirebaseApp.configure()行添加到 AppDelegate.swift 文件中时,应用程序构建正常,但在执行时崩溃,指示线程 1 上的信号中止... 线程 1:信号 SIGABRT

AppDelegate.swift中的代码如下:

import UIKit
import Flutter
import Firebase

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)
    FirebaseApp.configure()
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
    };
}
Run Code Online (Sandbox Code Playgroud)

Xcode 提供的完整错误日志如下:

2019-11-18 07:11:34.664822-0500 Runner[82048:876634]  - <AppMeasurement>[I-ACS036002] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2019-11-18 07:11:34.849351-0500 Runner[82048:876630] 6.13.0 - [Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
2019-11-18 07:11:34.860414-0500 Runner[82048:876433] *** Terminating app due to uncaught exception 'com.firebase.core', reason: '`[FIRApp configure];` (`FirebaseApp.configure()` in Swift) could not find a valid GoogleService-Info.plist in your project. Please download one from https://console.firebase.google.com/.'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff23c4f02e __exceptionPreprocess + 350
    1   libobjc.A.dylib                     0x00007fff50b97b20 objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff23c4ee6c +[NSException raise:format:] + 188
    3   Runner                              0x00000001040bf51a +[FIRApp configure] + 138
    4   Runner                              0x00000001040baea4 $s6Runner11AppDelegateC11application_29didFinishLaunchingWithOptionsSbSo13UIApplicationC_SDySo0j6LaunchI3KeyaypGSgtF + 212
    5   Runner                              0x00000001040bb1f4 $s6Runner11AppDelegateC11application_29didFinishLaunchingWithOptionsSbSo13UIApplicationC_SDySo0j6LaunchI3KeyaypGSgtFTo + 212
    6   UIKitCore                           0x00007fff47846788 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 232
    7   UIKitCore                           0x00007fff47848197 -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] + 3980
    8   UIKitCore                           0x00007fff4784dce6 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1281
    9   UIKitCore                           0x00007fff46f843c9 -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 122
    10  UIKitCore                           0x00007fff47471be1 _UIScenePerformActionsWithLifecycleActionMask + 83
    11  UIKitCore                           0x00007fff46f84edb __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 198
    12  UIKitCore                           0x00007fff46f848ea -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 296
    13  UIKitCore                           0x00007fff46f84d08 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 818
    14  UIKitCore                           0x00007fff46f8459d -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 345
    15  UIKitCore                           0x00007fff46f88bcb __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 + 178
    16  UIKitCore                           0x00007fff4739769b +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 865
    17  UIKitCore                           0x00007fff4749051f _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 240
    18  UIKitCore                           0x00007fff46f888e6 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 153
    19  UIKitCore                           0x00007fff47490422 _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 84
    20  UIKitCore                           0x00007fff46f88754 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 381
    21  UIKitCore                           0x00007fff46ddf123 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 657
    22  UIKitCore                           0x00007fff46dddca8 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 248
    23  UIKitCore                           0x00007fff46ddee4d -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 210
    24  UIKitCore                           0x00007fff4784c343 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 535
    25  UIKitCore                           0x00007fff473b920d -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 361
    26  FrontBoardServices                  0x00007fff36555225 -[FBSSceneImpl _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 442
    27  FrontBoardServices                  0x00007fff3657b598 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke.154 + 102
    28  FrontBoardServices                  0x00007fff3655fd05 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 220
    29  FrontBoardServices                  0x00007fff3657b229 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke + 355
    30  libdispatch.dylib                   0x00000001070ebd48 _dispatch_client_callout + 8
    31  libdispatch.dylib                   0x00000001070eecb9 _dispatch_block_invoke_direct + 300
    32  FrontBoardServices                  0x00007fff365a143e __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 30
    33  FrontBoardServices                  0x00007fff365a112c -[FBSSerialQueue _queue_performNextIfPossible] + 441
    34  FrontBoardServices                  0x00007fff365a163b -[FBSSerialQueue _performNextFromRunLoopSource] + 22
    35  CoreFoundation                      0x00007fff23bb2221 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    36  CoreFoundation                      0x00007fff23bb214c __CFRunLoopDoSource0 + 76
    37  CoreFoundation                      0x00007fff23bb1924 __CFRunLoopDoSources0 + 180
    38  CoreFoundation                      0x00007fff23bac62f __CFRunLoopRun + 1263
    39  CoreFoundation                      0x00007fff23babe16 CFRunLoopRunSpecific + 438
    40  GraphicsServices                    0x00007fff38438bb0 GSEventRunModal + 65
    41  UIKitCore                           0x00007fff4784fb48 UIApplicationMain + 1621
    42  Runner                              0x00000001040bb45b main + 75
    43  libdyld.dylib                       0x00007fff51a1dc25 start + 1
    44  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 
Run Code Online (Sandbox Code Playgroud)

上面的错误日志中有一行非常有趣的内容:

由于未捕获的异常“com.firebase.core”而终止应用程序,原因:“ [FIRApp configure];FirebaseApp.configure()在 Swift 中)无法在您的项目中找到有效的 GoogleService-Info.plist”请从https://console.firebase.google.com/下载一个。'

所以...该消息清楚地表明GoogleService-Info.plist可能存在一些问题,就像它不存在一样...除了它确实存在,是从 Firebase 新鲜下载的,它位于正确的位置文件夹,我已经彻底检查了 plist 的内容,以验证 Bundle ID、Team ID 和所有其他信息是否正确......

有人可以提出一些建议来解决这个问题吗?

谢谢

And*_*rew 5

要检查您是否已将该文件包含在目标中,请执行以下操作

  1. 单击您正在检查的文件
  2. 单击文件检查器
  3. 检查该文件是否包含在您所需的目标中。大多数应用程序只有一个目标。

显示位置的图像