iphone - 架构 armv6 的 undefined symbol

标签 iphone ios armv6

我的应用程序在运行 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/

相关文章:

Xcode 4.2 和 Three20 无法编译 armv6

iphone - 如何使动画 UIImage 在屏幕上移动?

iphone - 播放 : Playing a Movie from MPMoviePlayerController results in only audio being streamed to Apple tv

ios - 如何将 C int 放入 NSArray?

c - 链接错误 - 找不到文件符号中缺少必需的体系结构 i386

assembly - 函数中寄存器使用的 ARMv6 最佳实践

iphone - 防止用户在 UITextField 上设置光标位置

iphone - iOS 应用 Display Recorder 如何在不使用私有(private) API 的情况下录制屏幕?

iphone - 使用 reloadData 作为 UITableView 的保险单

objective-c - iOS, View 之间的转换