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


当前回答

在我使用dlib在IOS的情况下,我需要删除“继承”从构建设置/预处理器宏。

其他回答

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

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

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

在某些情况下,如果您在.h文件中定义了另外一个接口,但没有实现所有这些接口,则会发生此错误。

链接器无法在.m文件中找到实现,因此您需要为每个接口在.m文件中实现它。

要解决此错误:

1.在.m文件中,提供每个接口的实现。 2.重建

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

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

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

ARCHS = armv7

VALID_ARCHS = armv6 armv7 armv7s arm64

BUILD ACTIVE ARCHITECTURE ONLY= NO

以下是对我有用的:

移除所有豆荚 CD ios && pod分解 注释这一行在ios/Podfile -> use_flipper!() 重新安装所有pod arch -x86_64 pod install 运行你的应用程序:)npm运行ios

环境: 节点版本号:14.17.1 RN版本:6.0.0 操作系统:macOS BigSur m1