每次我从CocoaPods导入文件时,我都会得到一个Apple Mach-O链接器错误。

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_FBSession", referenced from: someFile
ld: symbol(s) not found for architecture arm64

我有大约12个这样的耳机,用于我使用的各种pod。

我试图使用XCode 5为iPhone 5S构建。

我一直在尝试各种解决方案这里所以,但还没有得到任何工作。

我如何解决这个苹果Mach-O链接错误?


刚刚发现了另一个可能很有趣的警告,我希望这能让我找到解决方案:

Ignoring file ~/Library/Developer/Xcode/DerivedData/SomeApp/Build/Products/Debug-iphoneos/libPods.a, 

~/Library/Developer/Xcode/DerivedData/someApp/Build/Products/Debug-iphoneos/libPods.a


当前回答

替换-ObjC与$(继承)在其他链接标志修复了我的问题

其他回答

当morisunshine的回答指向正确的方向时,他的回答中的一个小调整解决了我的iOS8.2问题。

我通过设置来解决这个问题:

ARCHS = armv7

VALID_ARCHS = armv6 armv7 armv7s arm64

BUILD ACTIVE ARCHITECTURE ONLY= NO

对我来说,我必须寻找

c++标准库,并确保选择的是libc++。

如果使用c++编写的.framework/.a文件,在调用c++代码时,其文件需要更改为.mm文件。

我浪费了半天时间……

在目标的构建设置中将-ObjC设置为其他链接器标志解决了这个问题。

这个错误花费了我一整天的时间,所以我想写一些真正对我有用的东西

删除.xworkspace 删除podfile.lock 删除Pods文件夹/目录

“不删除podfile”

在这之后,CLEAN(OPTION + SHIFT + CMD + K)——> BUILD(CMD + B)——> RUN(CMD + R)

我希望这真的对你有用:)