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


当前回答

没有解决方案修复这个错误在我的情况下(Xcode 9),与TesseractOCRiOS。经过几个小时的反复试验,我想出了一个很好的解决办法。我只是删除Podfile中的'pod 'TesseractOCRiOS', '~> 4.0.0',运行pod install。然后,将pod 'TesseractOCRiOS', '~> 4.0.0'添加回Podfile,并再次运行pod install。

砰!它的工作原理!

其他回答

如果你正在使用m1 (arm64),你有问题,你可以在x86模式下运行:

右键点击xcode,点击获取信息按钮 勾选“使用罗塞塔”选项打开

这将是一个缓慢但有效的过程。

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

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

“不删除podfile”

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

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

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

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

豆荚“打开”,“2.4.9”

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

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

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

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

我浪费了半天时间……