架构为armv7的FBSDKLoginCore未定义符号

6

最近在使用Parse SDK和Facebook SDK实现Facebook登录时,我遇到了以下错误。

我采取了以下步骤:

enter image description here

导入以下框架

enter image description here

将它们列在桥接标头下面

enter image description here

构建项目后,我得到以下错误。

我尝试的解决方案:

-从"其他链接器"中删除-ObjC并添加$(inherited) -更改为"标准"架构 -选择libz.1.2.5.dylib的构建和运行

我不确定自己做错了什么。

更新:

如要求所示,这是我的命令行。

enter image description here


你正在使用哪个版本的Xcode?因为在Xcode 7中,不再支持动态二进制库(.dylib),而是提供了.tbd库。我认为这可能会被OS X EI Capitan识别,而OS X EI Capitan支持.tbd(文件扩展名),而在OS X Yosemite中不可用。因此,具有(.dylib)的项目只能在较低版本的Xcode 7中运行。 - Abhishek
@Abhishek 正确。我正在使用 Xcode 7 和 OS X El Capitan。 - htjohn
请在dylib的位置添加.tbd库。 - Abhishek
@Abhishek 我尝试用tbd库替换它们中的所有4个,但我仍然得到相同的错误。 :/ - htjohn
也许你正在使用旧版框架,从编译错误来看,你可能忘记在项目中导入某些框架,因为错误的引用通常是我们忘记导入所需框架时出现的。 - Abhishek
显示剩余2条评论
1个回答

1

这与您的链接顺序有关。LoginKit需要CoreKit中的符号,但由于您的链接顺序错误,找不到它们。这就是为什么会出现Undefined symbols错误消息。

解决方法:反转您的链接顺序。

进入Xcode中的目标 -> 构建阶段 -> 链接二进制文件库,然后拖动这两个库即可。 :)


我尝试过了,即使在将CoreKit拖到LoginKit之前,我仍然收到那四个错误。 - htjohn
你好。请问你能提供编译命令行吗?在Xcode的错误摘要中可以看到。我想查看链接器标志和参数,并将其与我的设置输出进行比较。谢谢。 - MarkusAtCvlabDotDe
1
是的,当然!我会更新我的错误摘要。谢谢Markus! - htjohn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接