构build时FacebookSDK和Bolts彼此冲突(重复的符号)

不知道是什么问题.. 91符号发现重复的armv7

在iOS 7.1上的Swift项目。

这两个框架都是最新版本

尝试清理项目,并删除派生的数据,但无济于事。

duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._URL in: /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o) /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o) duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._appStoreId in: /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o) /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o) duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._appName in: /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o) /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o) 

有同样的问题。

  • 删除Bolts.framework不是一个解决scheme,因为我得到了Leo Flaherty提到的错误(在接受的答案中评论)。
  • 使用iOS_DEV提到的解决scheme似乎对我来说是一个丑陋的黑客
  • 使用最新的Parse和Facebook SDK也不是一个解决schemeSimonBøgh提到),因为我使用的是Facebook SDK的3.x版本,最新版本是4.x。 Facebook SDK更改日志提到: Facebook SDK for iOS v4.0是一个主要的版本升级。 由于我需要遵守最后期限,所以我不能花时间重写所有的Facebook代码,以适应新的4.x SDK版本。

我build议的解决scheme:

将Bolts.framework和FacebookSDK.framework作为框架添加到项目中,而不是将它们添加为Pods

 pod 'Bolts' pod 'Facebook-iOS-SDK', '3.23.1' 

在这里find所有可用的Facebook SDK版本,以防你需要使用不是最新的版本。
如果你使用的是Swift,你需要在桥头添加以下内容:
#import <FacebookSDK/FacebookSDK.h> #import <Bolts/Bolts.h>

我有91重复相同的问题。 什么对我来说只是删除Bolts.framework似乎已经包含在Facebook新的SDK中。

希望能帮助到你!

这对我有效。

1)我删除了parsing出来的Bolts.framework。

2)只添加parsing(select复制到目标文件夹)&facebookSDK(取消复制到目标文件夹)。 还在“生成设置”中检查了框架searchpath

3)增加了NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";

在AppDelegate.m之前

 @interface AppDelegate () @end 

我知道一个答案已经被接受, 但是现在Facebook已经解决了这个问题

如果您在撰写本文时下载最新的Parse SDK(1.7.0)Facebook SDK(4.0.0) ,则应该可以正常工作。 两个SDK都是在几个小时前更新的。

我从Parse SDK中导入并复制了Bolts.framework和Parse.framework,然后链接到Facebooks SDK(现在称为FBSDKCoreKit.framework),并成功构build了该项目。

重复的问题: parsing和Facebook的SDK -重复的符号

遵循以下步骤:applicatonTarget-> Build阶段 – >费用编译源。

在这里,您需要删除导致重复符号错误的文件。 然后再次build立。 在这里输入图像说明