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


当前回答

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

其他回答

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

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

“不删除podfile”

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

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

我有一部iPhone 5s,但还没有收到第三方库的64位版本,我不得不使用最新的Xcode回到32位模式(在5.1之前它没有抱怨)。

我通过从有效架构列表中删除arm64,然后将仅构建活动架构设置为NO来解决这个问题。在我看来,这比上面所示的其他方式更有意义。我写这篇文章是为了防止其他人无法得到上述任何一种解决方案。

我通过将有效的arch设置为armv7 armv7s,并在发布中将构建活动架构设置为YES,然后从命令行执行新的“pod install”来解决这个问题

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

我的问题是,我已经有一些Facebook sdk在我的项目(FBSDKLoginKit和FBSDKCoreKit)。

我只需要一个SDK (FBSDKShareKit)并导入它,从而给出了“未定义的arm64符号架构”。

由于FBSDKShareKit依赖于更新版本的FBSDKCoreKit,通过更新其他框架,一切都重新工作了。