将 Firebase 数据库添加到 iOS 部分时遇到问题

Posted

技术标签:

【中文标题】将 Firebase 数据库添加到 iOS 部分时遇到问题【英文标题】:Trouble adding Firebase Database to the iOS part 【发布时间】:2018-03-18 13:39:00 【问题描述】:

我正在尝试让 FlutterFire Database 在我的应用程序的 ios 部分(它在 android 上运行良好)上工作,但我收到一些错误消息,说我的 GoogleService-Info.plist 文件在哪里找不到.但我很确定它已正确放置在我的项目中。 这是控制台输出:

[Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add [FIRApp configure] to your application initialization. Read more: https://firebase.google.com/docs/ios/setup#initialize_firebase_in_your_app.
[Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
[Firebase/Core][I-COR000005] No app has been configured yet.
*** Terminating app due to uncaught exception 'com.firebase.core', reason: '[FIRApp configure] 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                      0x000000010ccad34b __exceptionPreprocess + 171
        1   libobjc.A.dylib                     0x000000010c70e21e objc_exception_throw + 48
        2   CoreFoundation                      0x000000010cd16265 +[NSException raise:format:] + 197
        3   Runner                              0x0000000109bdeb67 +[FIRApp configure] + 353
        4   Runner                              0x0000000109b79979 -[FirebaseDatabasePlugin init] + 185
        5   Runner                              0x0000000109b79838 +[FirebaseDatabasePlugin registerWithRegistrar:] + 168
        6   Runner                              0x0000000109b765e9 +[GeneratedPluginRegistrant registerWithRegistry:] + 121
        7   Runner                              0x0000000109b76473 -[AppDelegate application:didFinishLaunchingWithOptions:] + 99
        8   UIKit                               0x000000010d0c70be -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 290
        9   UIKit                               0x000000010d0c8a43 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4236
        10  UIKit                               0x000000010d0cede9 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1731
        11  UIKit                               0x000000010d0cbf69 -[UIApplication workspaceDidEndTransaction:] + 188
        12  FrontBoardServices                  0x0000000110fd4723 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
        13  FrontBoardServices                  0x0000000110fd459c -[FBSSerialQueue _performNext] + 189
        14  FrontBoardServices                  0x0000000110fd4925 -[FBSSerialQueue _performNextFromRunLoopSource] + 45
        15  CoreFoundation                      0x000000010cc52311 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
        16  CoreFoundation                      0x000000010cc3759c __CFRunLoopDoSources0 + 556
        17  CoreFoundation                      0x000000010cc36a86 __CFRunLoopRun + 918
        18  CoreFoundation                      0x000000010cc36494 CFRunLoopRunSpecific + 420
        19  UIKit                               0x000000010d0ca7e6 -[UIApplication _run] + 434
        20  UIKit                               0x000000010d0d0964 UIApplicationMain + 159
        21  Runner                              0x0000000109b7654f main + 111
        22  libdyld.dylib                       0x000000010ea9d68d start + 1
        23  ???                                 0x0000000000000008 0x0 + 8
    )

这是我的项目树的屏幕截图:

我正在 GeoFire 插件示例文件夹中尝试这个,可以在这里找到:https://github.com/bramvbilsen/Flutter-GeoFire/tree/master/example我很想知道你们是否有更多的运气和可能的解决方案!

【问题讨论】:

您是否调用了配置函数作为第一个错误消息引用? 我没有,应该在哪里调用?我只是在使用FlutterFire 插件,并认为在 Android 上运行的确切 Dart 代码可以在 iOS 上运行。 我对 FlutterFire 不熟悉,但是在配置一个只使用 Firebase 的项目时,总是需要我打电话给FirebaseApp.configure()。最好放在AppDelegatedidFinishLaunching 我什至无法在我的AppDelegate.m 文件中导入Firebase!我迷路了…… “在您的项目中找不到有效的 GoogleService-Info.plist” 确保从 Firebase 控制台下载 GoogleService-Info.plist 并将其添加到项目中的正确位置。见***.com/questions/45317777/… 【参考方案1】:

好的,我找到了解决方案! 显然 Xcode 9 不会将该文件添加到您的实际项目中!

    点击GoogleServices-info.plist文件即可解决此问题 在 Target Membership 选项卡中检查 Runner 项目

【讨论】:

图片见github.com/firebase/quickstart-ios/issues/…

以上是关于将 Firebase 数据库添加到 iOS 部分时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

Firebase iOS Swift - 将 Atname 更新功能添加到设置

iOS中的Firebase“管理员用户”?

将多个firebase项目添加到一个flutter(android部分)项目中

将firebase数据添加到ios swift中的数组

在 iOS 中将 NSMutableDictionary 添加到 NSMutableArray 时崩溃?

将 AdMob 添加到 Firebase 项目时崩溃