我已将 Firebase SDK 手动添加到我的项目中(由于配置问题无法使用 cocoapods)。
使用以下框架:
FirebaseCore.framework
FirebaseInstanceID.framework
Firebasemessageing.framework
在
AppDelegate
中我导入了以下内容:
#import "Firebase.h
#import <FirebaseInstanceID/FirebaseInstanceID.h>
#import <FirebaseMessaging/FirebaseMessaging.h>
然后我引用API:
[FIRApp configure];
当我构建项目时一切都很好。然而,一旦应用程序访问
Firebase SDK
API - 我就会遇到以下崩溃:
控制台中的错误消息:
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[NSData gtm_dataByGzippingData:error:]:无法识别的选择器发送到类 0x10553f168”
我已经添加了我能想到的所有必需的框架,但仍然遇到这个问题。
确保您已将 GoogleToolboxForMac 库添加到您的项目中,并且已将 -ObjC 添加到“构建设置”中的“其他链接器选项”。
根据该错误,Firebase 集成到项目中的方式可能存在问题,特别是当您将 Firebase 封装在自定义模块中时。
如果 Firebase 封装在模块中(例如,遥测模块),并且该模块的 Mach-O 类型未设置为动态库,则可能会遇到此错误。
在我的代码中包含与 FirebaseAnalytics 相关的任何方法时,我个人重现了类似的问题。要解决此问题,请确保您的模块(包含 Firebase)的
Mach-O Type
设置为 Dynamic Library
。
Xcode / Firebase 所在模块 / 构建设置 /
Mach-O Type
= Dynamic Library