我的应用程序在运行 iOS 5.0 的 iPhone 模拟器上编译良好,但在我运行 iOS 4.2.1 的旧 iPod touch 上却失败了。
我收到以下错误:
Undefined symbols for architecture armv6:
"_OBJC_CLASS_$_TestFlight", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv6
我看过其他关于此的问题: Undefined symbols for architecture armv6, Updating to iOS 4.3
但他们的解决方案不起作用。确实,TestFlight.h 不在 Compile sources 中,但是将它拖到 Compile Sources 并没有改变错误信息。 (没有 TestFlight.m;我在“Link Binary with Libraries”中有 libTestFlight.a
同样,在 AppDelegate.m 中删除并重新键入 #import "TestFlight.h"
也没有任何改变。
还有什么可能导致我的 iPod 出现此编译错误?
最佳答案
首先,.h 文件不是源文件,因此再次将其从“编译源”中删除。
关于错误 - 您可能使用的 TestFlight SDK 版本不支持 armv6 - 他们在最新版本中重新启用了此架构。更新到最新版本的 SDK,看看是否有帮助。
关于iphone - 架构 armv6 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152345/