我进行了很多搜索,然后才意识到-ObjC
所需的GoogleMapSDK
标志不能与ParseSDK
和FacebookSDK
配合使用。因此,我阅读了所有stackoverflow答案,并尝试解决了我的问题。该问题尚未解决。
我执行的步骤:
-ObjC
一起使用,请导入FacebookSDK。 完成 Bolts.framework
,链接器给出duplicate symbol
错误(其中92个错误)架构x86_64的未定义符号:
“_BFTaskMultipleExceptionsException”,引用自:
___ 53+ [Parse(PFObject.o)中的deleteAllAsync:withSessionToken:] _ block_invoke214
___ 65+ [Parse(PFObject.o)中的_block_invoke311_deepSaveAsync:withCurrentUser:sessionToken:] _ block_invoke311
ld:找不到架构x86_64的符号
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
在[关于这个问题的答案] [1]的评论中提出了同样的问题,而没有任何答复或建设性的答案。
附言我注意到一件事,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
最佳答案
回到iOS版Google Maps SDK推出时,我尝试了几种方法来破解一些链接器错误:
Google Maps SDK for iOS trying to run on iOS 4.3
我发现了一种解决丢失符号的技巧,只是在代码中重新定义了丢失符号。BFTaskMultipleExceptionsException
字符串定义为here,如下所示:
NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";
因此,也许只是尝试将那一行插入代码中?
从github的历史来看,这似乎是在19天前刚刚添加到Bolts中的。 Bolts的1.1.4版本在14天前发布(1.1.3是从去年10月开始)。因此,这可能是由于您注意到的Bolts版本不匹配所致。
另一个选择可能是从Bolts 1.1.4发布之前获取较旧版本的Parse。
据推测,一旦Bolts 1.1.4提供了新的Facebook SDK,此问题将得到修复。