美文网首页iOS随记
FireBase爬坑记

FireBase爬坑记

作者: valiant_xin | 来源:发表于2017-10-25 16:04 被阅读108次

昨天老大发来一个网页链接,说是要让对接一下一个SDK。跑去一看,是FireBase的,之前没听过,是做统计一类的,听说数据统计还算可以,这里是GitHub上项目地址。既然老大都已经说了,那么就继续往下做吧。

1.导入firebase库

下了一个VPN,跑去看了看文档,还行,上面说步骤不多。那就直接来吧,因为不是使用cocopads直接集成的,那就直接在官网手动下载SDK,然后拖进去。

按照最简单的,直接导入头文件,进行Firebase注册。

Firebase简单使用 打开调试,不需要的时候可以写-noFIRAnalyticsDebugEnabled

当然,在Other Linker Setting中添加-ObjC,否则无法正常使用。

2.项目出问题

然后,让人崩溃的事情就来了,项目报错了。报错不可怕,可怕的是我们要去找错误,然后更改。好吧,这就是日常生活必须的。

因为项目中集成的有谷歌广告,而Firebase中也是有谷歌广告的部分,我最开始想会不会他们之间起冲突。然后把firebase中的谷歌广告部分的库给去掉了,然而并没有什么卵用。

忙活了一阵,也不知道具体在忙啥,然后就到晚上八点半了。暂时住在朋友家里,距离公司差不多有两个小时左右到路程,没办法,只能第二天来了重新搞呗。

3.新建新项目,过流程

今天来了公司,接着搞昨天没做完的事情。怀疑可能跟之前的项目有冲突,既然这样的话,那就直接开一个新的空项目,集成sdk。

然后……还是报错,好吧,你赢了。运行后会说

URL scheme needed for Google Sign-In not included in your app's Info.plist.

这里说info.plist中没有谷歌登陆的URL scheme,怎么搞?郁闷了半天,看到东门兜的集成Firebase的Analytics功能这篇blog,在这篇文章的第五步中有一个需要添加系统库:AddressBook.framework、libc++.tbd、libsqlite3.tbd。

好吧,既然需要添加,那就添加进去。错误变少了,不过对于之前的错误并没有什么帮助。后来在stack overflow上看到一个类似的问题:Google Sign-In crashes on iOS 9 attempting to call canOpenURL,在其中看到一个人的回答,需要将GoogleService-info.plist文件中的REVERSED_CLIENT_ID对应的value和App的bundle Id添加到URL scheme,好吧,到此为止,终于知道需要添加谁进入scheme中了。

感谢josh的提问以及Eran Marom提供的回答

按照这个步骤来,项目基本上能够正常跑起来,没有什么问题了。

OK,正常的话,大家到这一步已经结束了。不过,因为我的项目中有一些其他的第三方存在,所以,爬坑的历程还没有结束。

4.转回原项目,解决冲突

我在项目中集成firebase之后,如果不在other link中写入-ObjC,那么项目不报错,但是firebase无法真正的集成进去。一旦打开之后,一片错误。没有办法,只能一点点解决了。

首先,在CSDN上看到了yinxin2745154的博客,在其中介绍的

"_GCControllerDidDisconnectNotification", referenced from:

-[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2dx iOS.a(CCController-iOS.o)

跟我其中一项报错一致,当我按照步骤将MediaPlayer.framework、GameController.framework添加进项目中后,果然这一条报错消失了。

但是还是有很多错误存在:

Facebook的广告部分出问题了,该怎么改?问了一下朋友,具体什么原因也不好多做猜测,没办法,还是只能靠自己查找答案了。

在CSDN中xiaotian9959的博客看到一篇文章,跟我的报错类型比较类似。根据他的解决方法,添加了libxml2之后,这些错误都没有了。

5.自己的作死

基本上到这里,大家的问题应该都解决了,剩下的就是我自己的作死了。我在接入极光推送的时候,不知道怎么多拉进来一个.a库……在这里打开-ObjC之后,发现好多提示重复的东西。解决办法很简单,把多余的东西都删除掉,然后一切OK!

6.集成完毕

OK,到这里一切问题都解决了,就等着老大安排其他任务了。简单的写了一遍自己的爬坑记录,希望能够帮助到大家。

相关文章

  • FireBase爬坑记

    昨天老大发来一个网页链接,说是要让对接一下一个SDK。跑去一看,是FireBase的,之前没听过,是做统计一类的,...

  • FireBase爬坑记(二)

    之前集成firebase成功,今天新的项目中再一次需要集成。本以为会十分顺利的结束,然而没想到,当我把那些库文件添...

  • Electron 爬坑记

    最近想给上次鼓捣出的 搜索 App 加个搜索当前页面文字的功能。 开工前,觉得这应该是个有现成解的问题,很快找到了...

  • IJKPlayer爬坑记

    一开始制作的是IJKMediaFramework,有篇很详细的文。制作ijkplayer框架 然并卵,根本不能播放...

  • weex 爬坑记

    我是纯android 原生开发的Coder,最近React native 和weex都比较火,最先尝试了React...

  • iOS爬坑记

    今天参加了某公司的面试,答得感觉懵逼的,下面是面试题 1.@import跟#include的区别 (1)#impo...

  • Ubuntu爬坑记

    1、第一次登陆创建root账户命令 2、Ubuntu安装SSh服务 3.Ubuntu安装JDK 4.安装MySQL...

  • iOS 共享到Mail邮件

    iOS 共享爬坑记 坑 神坑 特别坑 利用系统的Mail邮件发送,刚开始收不到,还以为是我的代码有问题,检查了几遍...

  • Firebase 上无 NDK 符号表的解决

    记 Firebase 上无 NDK 符号表解决的过程 背景 在 项目上线之后,Firebase 的后台收到音视频上...

  • Day 24 : firebase (一)

    firebase 資料庫 之前已經上網爬文看過怎麼將 Firebase 加入網路應用程式。 學習到新的知識點筆記:...

网友评论

    本文标题:FireBase爬坑记

    本文链接:https://www.haomeiwen.com/subject/wvpqpxtx.html