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


当前回答

我遇到了相同/类似的问题,实现AVPictureInPictureController,问题是我没有在我的项目中链接AVKit框架。

错误信息是:

Undefined symbols for architecture armv7:
   "_OBJC_CLASS_$_AVPictureInPictureController", referenced from:
       objc-class-ref in yourTarget.a(yourObject.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方案:

进入你的项目 选择目标 然后,转到构建阶段 用库打开二进制链接 最后,只需添加+ AVKit框架/任何其他框架。

希望这能帮助其他遇到类似问题的人。

其他回答

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

这个解决方案对我来说是唯一有效的: 进入CordovaLib设置,将arm64添加到Valid Architectures。

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

一整天都在纠结这个问题。

我有多个方案,它对演示,内部,发布编译良好-然而调试方案只是不会编译,并抱怨libPods。一个失踪。

解决方案是进入项目->目标->构建设置,并将“仅构建活动架构”更改为YES。清洁和建造!几个小时的头疼终于解决了!

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

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