在项目 SDK Cocoa Touch 框架中使用 Firebase Analytics 时崩溃

Posted

技术标签:

【中文标题】在项目 SDK Cocoa Touch 框架中使用 Firebase Analytics 时崩溃【英文标题】:Crash when Use Firebase Analytics in a project SDK Cocoa Touch Framework 【发布时间】:2017-11-29 02:44:54 【问题描述】:

我创建了一个 CocoaTouch 框架 SDK,它使用 Firebase 库进行检查。但是,我有以下问题: - 在 SDK 中添加 Firebase Analytics,构建成功,但是如果 SDK 中有 FIRAnalytics 类中的函数调用,例如:

[FIRAnalytics logEventWithName:@"share_image"
                    parameters:@
                                 @"name": name,
                                 @"full_text": text
                                 ];

然后在使用我们的SDK的项目A(示例)中,函数崩溃了:

- (void)viewDidAppear:(BOOL)animated 
[super viewDidAppear:animated];


如果我们的SDK不调用FIRAnalytics类中的函数,项目A不会崩溃 我们尝试在项目 A 中直接使用 Firebase 也没有崩溃 我在没有 CocoaPods 的情况下进行集成

【问题讨论】:

请不要显示截图或文字内容。要捕获错误消息,请右键单击红色指示器和“Reveal in Issue Navigator”。 它没有错误信息,请帮助我 @VănHảiCao,您的 A 项目中有 GoogleService-Info.plist 文件吗?在调用任何 firebase 方法之前,首先必须使用 [FIRApp configure]; 初始化 firebase @yvzzztrk 我在我的 A 项目中添加了文件 GoogleService-Info.plist,并且已经在初始化 FireBase [FIRApp 配置] 谢谢,我解决了崩溃问题,通过在 info.plist 中添加 FirebaseAutomaticScreenReportingEnabled = NO,但在控制台 FireBase 上没有检查数据 【参考方案1】:

对于那些想在没有 cocoapods 的 swift 框架中使用 firebase sdks 的人,我通过在框架的公共头文件“YourCocoaTouchFrameworkNameSwift.h”中添加以下 #import 来解决这个崩溃

#import <YourCocoaTouchFrameworkName/Firebase.h>

并遵循README 文件中的所有集成说明。

你可以在github上查看我的示例可可触摸框架和项目

【讨论】:

嗨@yvzzztrk。我收到缺少必需的模块“Firebase”错误。有什么帮助吗?

以上是关于在项目 SDK Cocoa Touch 框架中使用 Firebase Analytics 时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

最终构建中是不是包含未使用的 Cocoa Touch 框架?

如何解决 Cocoa touch 框架中的符号名称冲突

构建纯 Swift Cocoa Touch 框架

静态 cocoa/cocoa-touch 库应该基于啥样的 SDK?

使用 Cocoa Touch Framework 的 iOS 8 项目未在模拟器中构建

在 Cocoa Touch 框架中包装静态库