Firebase崩溃.. iOS Swift

时间:2016-06-03 23:57:22

标签: ios swift firebase

我的Firebase iOS应用程序由于cocoapods中的某些原因,我不得不手动设置框架。

我收到了一个崩溃错误说

2016-06-04 00:48:51.356 NewFirebase[74218:11918327] Configuring the default app.
2016-06-04 00:48:51.401 NewFirebase[74218:11918425] +[NSData gtm_dataByGzippingData:]: unrecognized selector sent to class 0x10bdd8110
2016-06-04 00:48:51.403 NewFirebase[74218:] <FIRAnalytics/INFO> Firebase Analytics v.3200000 started
2016-06-04 00:48:51.404 NewFirebase[74218:11918425] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSData gtm_dataByGzipping

我与firebase相关的唯一一行是

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.

        FIRApp.configure()


        FBSDKApplicationDelegate.sharedInstance().application(application,
                                                              didFinishLaunchingWithOptions: launchOptions)

        return true
    }

其他与facebook登录有关我将使用firebase

这些是其中的框架 Frameworks

这是链接器部分在构建设置中的样子 Linker Flags Section

如果您想要更多代码,请随意

如果我摆脱FIRApp.configure()一切正常,因为它应该是..

8 个答案:

答案 0 :(得分:16)

您需要添加这些库

  • 的libc ++。TBD
  • libsqlite3.tbd
  • AddressBook.framework

链接二进制文件库

转到目标 - &gt;建立阶段

http://i.stack.imgur.com/BpZWD.jpg

答案 1 :(得分:7)

在Other Linker Flags中添加两个参数

$(inherited)
-ObjC

enter image description here

答案 2 :(得分:3)

我在OS X 10.11.5上使用针对iOS 9.3的Xcode 7.3.1。

我和&#34;未定义的符号&#34;有完全相同的问题。问题。

我首先清空了#34;其他链接标记&#34;然后将$(OTHER_LDFLAGS)和-ObjC添加为2个单独的项目(双击时使用+按钮)。

我做的另一件事是删除给我提出问题的框架 - GoogleUtilities和FirebaseAnalytics。

然后我将它们添加回使用&#34;将文件添加到项目&#34;一次选择一个,确保它们定位到我的iOS应用程序。

之后构建成功,广告出现。

答案 3 :(得分:3)

我只是浪费了几个小时 - 自述文件和文档很差

你还需要包含GoogleToolboxForMac.framework我错过了这个,因为我认为它适用于mac应用程序,但添加它可以解决问题。

答案 4 :(得分:1)

回答上述评论:

编辑:这是Build Settings的样子:

Firebase目录中的README.md表示将Firebase.h文件拖放到项目中,以及module.modulemap文件,并将module.modulemap文件的路径添加到{{1 }}: enter image description here

Firebase目录中的README.md表示仅在此输入User Header Search Pathsenter image description here

以下是我-ObjC的样子: enter image description here

Project Navigator

答案 5 :(得分:0)

添加此链接器标志为我解决了问题。我曾尝试首先使用CocoaPods,但无法导入任何更具体的Firebase模块。添加框架直接起作用,但仅在添加了-ObjC链接器标志时才能使用。

答案 6 :(得分:0)

我只是从另一个项目中拖动代码文件和框架并遇到了这个问题。 在构建阶段添加所有框架后,在“其他链接器标志”中添加-ObjC解决了这个问题。

答案 7 :(得分:0)

I fixed this issue by removing FirebaseNanoPB and FirebaseCoreDiagnostics framework from my project.