每次我从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


当前回答

我通过检查右边目标成员中所选的实现文件来修复我的问题。这是非常有用的,特别是在处理扩展,即自定义键盘。

其他回答

我也遇到过同样的问题。 我在这里找到的解决方案:为什么链接器链接带有错误的静态库?iOS

添加$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)到库搜索路径解决了这个问题。

调用pod update,然后从pod文件中删除pod 'ARCore',并再次调用pod install。然后将pod 'ARCore'添加到pod文件中,并再次调用pod install

这个问题发生在我通过Podfile和pod install安装pod后。在尝试了一系列不同的修复后,我最终只是手动导入Pod(将必要的文件拖到我的项目中),这就解决了问题。

对于我来说,我在xcode 7.2 For iOS中使用opencv 2.4.9,出现了上述错误,我通过pod install使用opencv而不是离线opencv框架解决了这些错误。

你可以尝试添加下面的opencv pod文本,如果你使用了离线的opencv框架,可以删除。

豆荚“打开”,“2.4.9”

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

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

ARCHS = armv7

VALID_ARCHS = armv6 armv7 armv7s arm64

BUILD ACTIVE ARCHITECTURE ONLY= NO