我假设这与链接有关,但我已经删除了 RestKit 并重新添加了它。我确保我所有的连接和链接都到位。如果我将 XCode 设置为使用模拟器,它运行良好,但是一旦我将它设置为在任何设备上运行,它甚至不会构建。唯一值得注意的另一件事是,直到我升级到 XCode 4.5,这才开始发生。以下是它给我的错误

ld: warning: ignoring file /Users/luke/Library/Developer/Xcode/DerivedData/ehrx-btsujlxuhtytahfaikwjeqfjybtt/Build/Products/Debug-iphoneos/libRestKit.a, file was built for archive which is not the architecture being linked (armv7s): /Users/luke/Library/Developer/Xcode/DerivedData/ehrx-btsujlxuhtytahfaikwjeqfjybtt/Build/Products/Debug-iphoneos/libRestKit.a
Undefined symbols for architecture armv7s:
  "_OBJC_CLASS_$_RKClient", referenced from:
      objc-class-ref in ehrxAppDelegate.o
      objc-class-ref in ehrxLoginView.o
      objc-class-ref in ehrxInboxView.o
      objc-class-ref in ehrxCMView.o
      objc-class-ref in ehrxEncounterDemoView.o
      objc-class-ref in ehrxEncounterDiagListView.o
      objc-class-ref in ehrxEncounterChargeView.o
      ...
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这些是 RestKit 的build设置。

最佳答案

看起来这些框架不是为在 armv7s 设备上工作而构建的,如果没有必要,请将其从build设置中的“有效架构”中删除。

如果没有,您将必须更新它们才能在 armv7s 上工作

关于iOS 应用程序无法在设备上编译,但在模拟器中运行良好,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12736356/

10-13 08:43