目前我正在使用新的SDK 9.0转换一个较旧的基于sdk的项目。
我得到一个问题,我需要在这里咨询。如果我将"Build Active Architecture Only"
设置为"YES"
,那么它会在我的设备iPhone 5上成功调试。
但是当我将其设置为"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".
我有什么快速建议来解决这个问题吗?
答案 0 :(得分:1)
当您将Build Active Architecture Only选项设置为YES时,它将为连接的设备构建。由于这是带有A6(32位)芯片的iPhone 5,因此您的构建成功。如果是iPhone 5S那么它可能不会像A7(64bit)芯片那样构建。
当您将选项设置为NO时,它必须为包括较新的64位处理器在内的所有体系结构构建。
从错误中看,您的谷歌分析安装似乎不包括arm64版本。尝试安装最新版本。看起来您需要3.03或更高版本。