每次我从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)到库搜索路径解决了这个问题。

其他回答

当我在构建第二级框架时,我的“伞形框架”遇到了这个问题。

我通过改变我的第一个关卡框架的“通用iOS设备”构建方案来解决这个问题。我认为这将改变_CodeSignature,当我把我的整个“伞形框架”推到GitHub时,我看到了差异。

转到目标构建设置。 为调试和发布设置BUILD ACTIVE ARCHITECTURE ONLY = NO 构建并运行

这个链接错误消息表明定义它的源文件没有被标记为应用程序目标的一部分。找到源文件,并使用右边的file属性检查器来检查应用程序目标的目标成员条目。

解决方案: 选择文件-> openFile Inspector ->参见目标成员->检查如果未选中目标您的运行目标

我有一部iPhone 5s,但还没有收到第三方库的64位版本,我不得不使用最新的Xcode回到32位模式(在5.1之前它没有抱怨)。

我通过从有效架构列表中删除arm64,然后将仅构建活动架构设置为NO来解决这个问题。在我看来,这比上面所示的其他方式更有意义。我写这篇文章是为了防止其他人无法得到上述任何一种解决方案。

对我来说,我必须寻找

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