iOS FacebookSDK + Parse SDK + GoogleMaps SDK

时间:2015-03-18 21:59:50

标签: ios parse-platform facebook-ios-sdk google-maps-sdk-ios bolts-framework

我进行了大量搜索,并意识到,-ObjC需要GoogleMapSDK标记,与ParseSDKFacebookSDK不相符。所以我阅读了所有stackoverflow的答案,并尝试解决我的问题。问题尚未解决。

我执行的步骤:

  • 问题1 :Parse不适用于-ObjC
  • 解决方案1 ​​:使Parse与-ObjC一起导入FacebookSDK。的 完成

  • 问题2 :Parse和Fb SDK都使用Bolts.framework,链接器会出现duplicate symbol错误(其中约有92个)

  • 解决方案2 :删除Bolts.framework,因为FacebookSDK已经预先捆绑了它。

  • 问题3 :删除Bolts.framework后,重复的错误消失了,但是有一个微小的链接器错误,我无法弄清楚。我假设他们已经在新的SDK版本中改变了一些东西。错误如下:

  • 解决方案:??
  

架构x86_64的未定义符号:     “_BFTaskMultipleExceptionsException”,引自:         ___ 53+ Parse中的[PFObject(私有)deleteAllAsync:withSessionToken:] _ block_invoke214(PFObject.o)         ___ 65+ [PFObject(私有)_deepSaveAsync:withCurrentUser:sessionToken:] _ block_invoke311在Parse(PFObject.o)中   ld:找不到架构x86_64的符号   clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

[回答SO] [1]的评论中提出了同样的问题,没有任何回复或建设性的回答。

P.S。有一件事我注意到FacebookSDK与Bolts版本1.1.3捆绑在一起 和Parse的zip文件中有一个版本1.1.4。这会导致问题吗? P.P.S.我在今天的日期(2015年3月19日)使用SDK的最新版本

他们是:   - 解析SDK:1.6.4   - GoogleMaps SDK:1.9.2

2 个答案:

答案 0 :(得分:2)

当Google Maps SDK for iOS问世时,我尝试了一些方法来解决一些链接器错误:

Google Maps SDK for iOS trying to run on iOS 4.3

我找到了解决缺失符号的一个黑客,只是在我的代码中重新定义了丢失的符号。

BFTaskMultipleExceptionsException字符串定义为here,如下所示:

NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";

所以也许只是尝试将这一行放入代码中?

从github的历史来看,它似乎刚刚在19天前添加到Bolts。螺栓版本1.1.4在14天前发布(1.1.3从去年10月开始)。所以它可能是由你注意到的螺栓版本不匹配引起的。

另一种选择可能是在Bolts 1.1.4发布之前获得较旧版本的Parse。

据推测,一旦新的Facebook SDK可用于螺栓1.1.4,这将得到解决。

答案 1 :(得分:1)

所以Bolts Framework 1.1.3适用于Parse 1.6.3。但Parse 1.6.3在任何地方都找不到。所以我做了很多挖掘并进入了可可豆荚的json文件,并获得了下载Parse 1.6.3或任何版本的任何框架的直接链接。可可豆荚github.com/CocoaPods/Specs是要查看的储存库。

对于其他人,谁专门寻找Parse 1.6.3。 This is the link只需找到json中的source链接,然后将其复制到浏览器中即可。

我将以最后的结论结束这个问题:

Parse 1.6.3和FacebookSDK 3.93取决于螺栓1.1.3

Parse 1.6.4用螺栓1.1.4更新,但截至此日期,facebook sdk不是。因此,我们必须使用Parse 1.6.3直到facebook sdk用螺栓1.1.4更新