Ios FirebaseApp.configure()在启动时使应用程序崩溃
我正在做一个iOS项目,它使用Firebase进行分析、crashlytics和远程配置获取。对于依赖关系管理,我使用cocoapods,项目中Firebase的当前版本是最新的-Ios FirebaseApp.configure()在启动时使应用程序崩溃,ios,objective-c,firebase,crash,config,Ios,Objective C,Firebase,Crash,Config,我正在做一个iOS项目,它使用Firebase进行分析、crashlytics和远程配置获取。对于依赖关系管理,我使用cocoapods,项目中Firebase的当前版本是最新的-6.22.0 这里的问题是,应用程序在配置Firebase的代码行上的每次新启动时都会崩溃(ObjC->[FIRApp configure];)。我已经看到了一些类似的帖子,但没有一篇对我有帮助,除非我遗漏了什么 项目的部分结构如下图所示。红色表示主目标和应用程序的主xcodeproj文件。蓝色表示自定义框架的xcod
6.22.0
这里的问题是,应用程序在配置Firebase的代码行上的每次新启动时都会崩溃(ObjC->[FIRApp configure];
)。我已经看到了一些类似的帖子,但没有一篇对我有帮助,除非我遗漏了什么
项目的部分结构如下图所示。红色表示主目标和应用程序的主xcodeproj
文件。蓝色表示自定义框架的xcodeproj
文件,其中包含用于分析日志记录的帮助程序,包括FirebaseAnalytics
包装,这意味着它有其依赖项pod Firebase/analytics
。此自定义框架用于标记为红色的主应用程序目标。(在pod安装之后
我总是打开xcworkspace
,所以这是在xcworkspace
中)
下面是为Podfile
中的每个项目/目标定义的pod
target 'TheApp' do
platform :ios, '11.0'
project 'TheApp/TheApp.xcodeproj'
use_frameworks!
pod 'Firebase/Auth'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'Firebase/RemoteConfig'
end
target 'TheCustomFramework' do
platform :ios, '11.0'
project 'TheCustomFramework/TheCustomFramework.xcodeproj'
use_frameworks!
pod 'Firebase/Analytics'
end
我在app delegate中添加了Firebase配置方法,如谷歌文档所示
此外,正如谷歌文档所述,我在项目中添加了GoogleService Info.plist
文件
但该应用程序在AppDelegate
中的didfishlaunchingwithoptions
方法调用的Firebase配置上不断崩溃。当我在卡住的轨迹中进入更深的位置时,我在Firebase库中标有红色矩形的364
代码行上崩溃:
Xcode控制台中此崩溃的异常消息为:
Terminating app due to uncaught exception 'com.firebase.installations', reason: 'The default FirebaseApp instance must be configured before the defaultFirebaseApp instance can be initialized. One way to ensure that is to call `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) in the App Delegate's `application:didFinishLaunchingWithOptions:` (`application(_:didFinishLaunchingWithOptions:)` in Swift).'
这里可能有什么问题?谢谢你的帮助和回答
p、 很抱歉发了这么长的帖子。来回答我自己的问题。我基本上解决了这个问题,从
Podfile
中的每个项目/目标中删除Firebase/Core pod
,并添加与主应用程序目标相关的所有Firebase,包括Firebase/Analytics pod
(这意味着从其他每个项目/目标中删除它)
运行pod install
后,我将使用FirebaseAnalytics的所有文件从自定义框架移动到主项目(目标)。现在一切正常,并调用[FIRApp configure]代码>不会使应用程序崩溃
Podfile
现在看起来像这样:
target 'TheApp' do
platform :ios, '11.0'
project 'TheApp/TheApp.xcodeproj'
use_frameworks!
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'Firebase/Messaging'
pod 'Firebase/RemoteConfig'
end
target 'TheCustomFramework' do
platform :ios, '11.0'
project 'TheCustomFramework/TheCustomFramework.xcodeproj'
use_frameworks!
end
如果这是问题中Swift标记指示的Swift项目,则不是ObjC。删除[FIRApp配置]
并将其替换为FirebaseApp.configure()
。不过,从屏幕截图上看,它可能是ObjC。最好将代码和结构包含为文本,而不是链接和图像。这样,如果答案中需要它们,就可以复制和粘贴它们。最后,图像是不可搜索的,这可能会妨碍未来读者定位问题。这不是一个Swift项目。有些代码是用ObjC编写的,有些是用Swift编写的。我已经更新了标签。您可能想回顾一下入门指南。您的podfile与文档不匹配,不再需要Firebase iOS库Firebase/Core。。我也没有看到导入Firebase代码>看起来你有两个不同的目标/项目?如果你能进一步澄清,我们可能会提供帮助。我已经从项目中删除了Firebase/Core pods',仍然得到与以前相同的结果。此外,我还添加了导入Firebase;`进入文件。太棒了。很高兴我的评论有帮助!谢谢兄弟。你做到了。