每次我从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框架/任何其他框架。

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

其他回答

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

添加“Security.framework”对我来说很管用。

你只需要从有效架构中删除arm64,并将NO设置为仅活动架构。现在只需要清洁、构建和运行。您将不会再次看到此错误。

:) KP

OPN [Debug]目标覆盖OTHER_LDFLAGS构建设置。这是主要问题。在添加$(继承)在其他链接器标志的新行解决了我的问题。

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