Parse和Facebook SDK"螺栓"框架错误

mgi*_*inn 11 xcode facebook parse-platform

我有一个安装了Parse和Facebook框架的应用程序.通过将文件拖到项目的"Frameworks"文件夹并选择"如果需要复制"来安装Parse,同时通过拖动而不选择复制选项来安装Facebook SDK.两者都显示在链接二进制列表下.问题似乎是两个SDK都包含了螺栓.我尝试使用Facebook,产生以下Link-O错误:

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)
Run Code Online (Sandbox Code Playgroud)

我删除了Facebook的链接并尝试拖动Parse,但错误仍然存​​在.我也得到了警告

ld: warning: ignoring file /Users/milesper/Documents/FacebookSDK/Bolts.framework/Bolts, missing required architecture x86_64 in file /Users/milesper/Documents/FacebookSDK/Bolts.framework/Bolts (2 slices)
Run Code Online (Sandbox Code Playgroud)

即使我从Facebook SDK中删除了该文件.

我该如何清理项目并链接到Parse版本的螺栓?还有别的我应该做的吗?

sto*_*one 5

结果是您在项目中包含/搜索框架的顺序.

以下是我在没有CacoaPods的情况下使用Parse 1.6.4和FacebookSDK所做的工作

  1. 使用最新版本的螺栓.(1.1.4)
  2. 您的包含路径应​​先订购,先找到Bolt,然后再找到FacebookSDK,再找Parse

订购搜索路径


mgi*_*inn 3

好吧,我找到了。问题在于“库搜索路径标志”中引用了旧文件(现已删除)。感谢这篇文章给了我这个想法。我所要做的就是删除旧路径,现在它又可以工作了。

编辑:看来在某些情况下搜索路径的顺序也很重要(见下文)。