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


当前回答

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

其他回答

将库放在项目的同一文件夹中,这对我来说是有效的

这可能与libz有关。Dylib或libz。待定,只需将其添加到链接二进制文件的目标中,并尝试再次编译。

以下是对我有用的:

移除所有豆荚 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

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

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

我浪费了半天时间……