iOS FacebookSDK +解析SDK + GoogleMaps SDK
我搜索了很多,我意识到,GoogleMapSDK
要求-ObjC
标志,与ParseSDK
和FacebookSDK
不能很好地发挥。所以我读了所有的*答案,并试图解决我的问题。问题尚未解决。iOS FacebookSDK +解析SDK + GoogleMaps SDK
步骤我表现:
- 问题1:解析不-ObjC
解决方案1 工作:要解析工作,
-ObjC
进口FacebookSDK。 完成问题2:解析和Fb SDK都使用
Bolts.framework
和接头给出duplicate symbol
错误(它们中的一些92)溶液2:删除Bolts.framework作为FacebookSDK已经预先捆绑了它。
问题3:删除Bolts.framework后,重复的错误消失了,但有一个小的链接器错误,我不明白。我假设他们已经在新的SDK版本中改变了一些东西。错误如下:
- 解决方案:??
Undefined symbols for architecture x86_64: "_BFTaskMultipleExceptionsException", referenced from: ___53+[PFObject(Private) deleteAllAsync:withSessionToken:]_block_invoke214 in Parse(PFObject.o) ___65+[PFObject(Private) _deepSaveAsync:withCurrentUser:sessionToken:]_block_invoke311 in Parse(PFObject.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
同样的问题在[这个答案的SO] [1]没有任何回复或建设性的答案的评论中问道。
P.S.有一件事我注意到,FacebookSDK捆绑了Bolts版本1.1.3
,并且Parse在其zip文件中有1.1.4
版本。这是否导致问题? P.P.S.我使用SDK的最新verions为今天的日期(2015年3月19日)
它们是: - 解析SDK:1.6.4 - 谷歌地图SDK:1.9.2
所以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
链接并将其复制到浏览器中即可。
我将结束这个问题与压轴的结论:
解析1.6.3和FacebookSDK 3.93取决于螺栓1.1.3
解析1.6.4与1.1.4螺栓更新,但由于这一日期Facebook sdk isnt。因此,我们必须使用Parse 1.6.3,直到facebook sdk用螺栓更新1.1.4
背的时候,谷歌地图SDK iOS版出来的时候,我尝试了一些方法周围的一些链接错误黑客:
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的旧版本。
大概一旦新的Facebook SDK与Bolts 1.1.4一起提供,就可以解决这个问题。
似乎是Facebook正在处理的已知问题,并且Sergey发布了与我的建议相同的解决方法:http://*.com/questions/28898999/parse-api-1-6-4-cannot-build-project – 2015-03-19 03:20:07
所以据我所知,我有3种解决方案可以尝试:(按照pref的顺序): 1.切换到使用螺栓1.1.3而不是1.1.4的解析SDK。2.强制Bolts 1.1.4 on FacebookSDK by cocoapods 3.重新定义@Saxon Druce提到的缺失符号 – leo 2015-03-19 07:24:19
@Saxron你有解析ios sdk版本1.6.3的链接吗? – leo 2015-03-19 07:34:27
使用CocoaPods为您管理所有这些依赖关系? – 2015-03-19 03:12:42
正如@jshier所说。只需使用CocoaPods。 http://cocoapods.org/我认为你会发现所有这些问题都会消失。祝你好运 – user2877496 2015-03-19 03:51:24
@Logan我尝试使用-force_load,它似乎没有工作。此外,这是一个解决方法,我读它在谷歌地图中打破了一些东西。所以我不想使用它 – leo 2015-03-19 05:29:41