我在Xcode 5.1 的设备上运行我的应用时遇到以下错误。而它在 Xcode 5.0.2
中成功构建/Users/XX/TestFlightSDK/libTestFlight.a (4 slices)
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_TestFlight", referenced from:
objc-class-ref in XXDataTypes.o
objc-class-ref in XXAppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我在LinkBinaryWithLibrary中添加了arm64作为有效架构和libTestFlight.a,并注意此错误仅在Xcode 5.1中显示任何建议或帮助?
提前致谢
答案 0 :(得分:1)
我认为您使用的TestFlight库不是为arm64
架构而构建的。在TestFlight网站上查看包含arm64
。
您可以通过在lipo
文件上运行.a
命令进行交叉检查,
xcrun -sdk iphoneos lipo -info libTestFlight.a
这应该列出FAT文件中包含的体系结构。检查是否存在arm64
或类似(cputype (16777228) cpusubtype (0))
的内容。如果不存在,则假定lib不是为arm64
构建的。
希望有所帮助!
注意:TestFlight 3.0.0是支持arm64 ARCH的最新版本,但只有已经上传的版本才能下载此SDK。检查这个
http://help.testflightapp.com/customer/portal/articles/1452760
答案 1 :(得分:0)
我建议你使用 Xcode 5.02 稳定版(正如你在问题中提到的那样,使用 Xcode 5.02 解决了这些错误,背后的原因是 Xcode 5.01 是测试版,不稳定)。 在安装 Xcode 5.02 之前,我也遇到了同样的问题。
希望此信息可以帮助您。