3

我假设这与链接有关,但我已经删除了 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 的构建设置。 在此处输入图像描述

4

3 回答 3

6

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

如果没有,您将不得不更新它们以在 armv7s 上工作

于 2012-10-04T21:38:26.830 回答
3

链接器抱怨您的 RestKit 库中缺少 armv7 的数据。

请将此架构添加到您的 RestKit 项目中作为有效架构。出于显而易见的原因,这比从主项目中删除 armv7 要好得多。

于 2012-10-04T21:41:22.823 回答
2

这是因为您的库 RestKit 仅针对架构 armv7 而​​不是为新的 iPhone 架构 armv7s 编译。如果您没有为 armv7s 编译的 lib,请尝试将 armv7s 删除到项目设置中的架构和有效架构列表中。

于 2012-10-04T21:39:14.427 回答