Firebase 运行时崩溃
Posted
技术标签:
【中文标题】Firebase 运行时崩溃【英文标题】:Firebase runtime crash 【发布时间】:2017-03-02 12:55:24 【问题描述】:我已将 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:]: unrecognized selector sent to class 0x10553f168”
我已经添加了我能想到的所有必需的框架,但仍然遇到这个问题。
【问题讨论】:
【参考方案1】:确保您已将 GoogleToolboxForMac 库添加到您的项目中,并且您已将 -ObjC 添加到构建设置中的其他链接器选项中。
【讨论】:
谢谢 - 就是这样。但是我现在面临与 FirebaseSDK 相关的另一次崩溃。 但是如果你添加了 objc 标志,那么你就不能再编译像 facebook 这样的其他库了 :( 有什么想法吗? @loki 一种解决方法是在未执行的代码中添加对 [NSData gtm_dataByGzippingData:error:] 的显式调用,以便引用可见并且不会被链接器丢弃。跨度> 感谢保罗,但是我发现了另一种更简单的方法:使用 -force_load 而不是 -ObjC @Tander,您如何手动添加 GoogleToolboxForMac,我收到以上是关于Firebase 运行时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
当使用Firebase和onesignal时,应用程序在第一次运行时崩溃
Android Gradle:所有 gms/firebase 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)