TestFlight在Xcode 5.1中显示符号未找到错误

时间:2014-03-13 04:24:10

标签: ios iphone xcode

我在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中显示任何建议或帮助?

提前致谢

2 个答案:

答案 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 之前,我也遇到了同样的问题。

希望此信息可以帮助您。