firebase 配置崩溃
Posted
技术标签:
【中文标题】firebase 配置崩溃【英文标题】:firebase configuration crash 【发布时间】:2020-01-17 15:55:29 【问题描述】:执行 firebase.configure
时 Firebase 崩溃我在工作区中有多个目标
#if Client
FirebaseApp.configure()
#else
let filePath = Bundle.main.path(forResource: "GoogleService-Info-xxx", ofType: "plist")!
let options = FirebaseOptions(contentsOfFile: filePath)
FirebaseApp.configure(options: options!)
#endif
我知道问题出在GoogleService-Info.plist
文件中。
我的Client
目标工作正常,但我的其他目标在FirebaseApp.configure(options: options!)
线上崩溃,我已经对其进行了调试,并且GoogleService-Info-xxx
的选项在那里。
崩溃日志:
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[FIRInstanceIDCheckinPreferences preferencesFromKeychainContents:]:无法识别的选择器发送到类 0x1035b7d60”
【问题讨论】:
您不需要以编程方式添加选项。只需将GoogleService-Info.plist
放入Resources
组并调用FirebaseApp.configure()
考虑到有多个目标,Firebase 如何知道要配置哪个文件?
选择文件,在右侧inspector中,可以查看应用文件到哪些目标
***.com/questions/42169907/…
【参考方案1】:
您不需要在配置期间明确指定选项。如Firebase Documentation 所示,您只需按照Step 3 中的说明正确导入配置文件后,只需在应用程序的application:didFinishLaunchingWithOptions:
方法中调用Firebase.configure()
。如果您有多个构建目标,只需在将配置文件添加到项目后选择配置文件,然后在文件检查器中,选中您想要捆绑配置文件的目标旁边的框。
【讨论】:
我确实选中了目标框,但据我所知,firebase 会查找相同的文件名,而 xworckspace 不能有 2 个具有相同名称的文件,这会产生问题,例如 firebase 正在寻找xxxxx.plist,我不能有两个同名的文件 如果您在目标分配下检查了它们,Xcode 应该将相同的文件复制到两个包中。一个捆绑包是否嵌套在另一个捆绑包中?这是一个非常简单的过程,因此我需要您提供更多信息来提供帮助以上是关于firebase 配置崩溃的主要内容,如果未能解决你的问题,请参考以下文章
使用选项配置 firebase 在 Xcode 11 和 Firebase 6.19 中崩溃
使用 Firebase 身份验证时应用程序崩溃,原因:“已配置默认应用程序。”