架构arm64的未定义符号:" _OBJC_CLASS _ $ _ GANTracker

时间:2015-10-15 12:00:04

标签: ios xcode runtime-error

目前我正在使用新的SDK 9.0转换一个较旧的基于sdk的项目。

我得到一个问题,我需要在这里咨询。如果我将"Build Active Architecture Only"设置为"YES",那么它会在我的设备iPhone 5上成功调试。

enter image description here

但是当我将其设置为"No"时,它会在编译时显示错误。这显示在下面的警告和错误消息。

ld: warning: ignoring file /Users/narendravaishnav/Naren/SVN Projects/MyApp/libGoogleAnalytics.a, missing required architecture arm64 in file /Users/narendravaishnav/Naren/SVN Projects/MyApp/libGoogleAnalytics.a (3 slices)

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_GANTracker", referenced from:
      objc-class-ref in MyAppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是libGoogleAnalytics.a的旧版本,但是当我使用我的连接设备和"Build Active Architecture Only" = "YES".

进行调试时,此功能正常工作

我有什么快速建议来解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

当您将Build Active Architecture Only选项设置为YES时,它将为连接的设备构建。由于这是带有A6(32位)芯片的iPhone 5,因此您的构建成功。如果是iPhone 5S那么它可能不会像A7(64bit)芯片那样构建。

当您将选项设置为NO时,它必须为包括较新的64位处理器在内的所有体系结构构建。

从错误中看,您的谷歌分析安装似乎不包括arm64版本。尝试安装最新版本。看起来您需要3.03或更高版本。