仅在设备上出现链接器错误

JSA*_*986 1 xcode objective-c linker-errors dropbox ios

我在编译设备时遇到了以下错误

File is universal (3 slices) but does not contain a(n) armv7s slice: /Users/xxx/Desktop/xxxxxxx/DropboxSDK.framework/DropboxSDK for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已检查所有.m文件是否链接,一切正常,为什么它只在设备上执行此操作,编译器想要阻止它抱怨什么?

Mar*_*n R 5

"armv7s"是iPhone 5中新ARM处理器支持的指令集.默认情况下,Xcode 4.5为armv7和armv7s生成二进制文件.

链接器错误意味着您的应用程序是为armv7和armv7s(以及模拟器的i386)编译的,但是链接到不包含armv7s代码的DropboxSDK框架.

所以你有以下选择:

  • 下载并安装最新的DropboxSDK框架.根据CHANGELOG,已添加iPhone 5支持.
  • 仅为"armv7"编译您的应用程序.这是在目标的"构建设置"的"体系结构"中配置的.

你说"没有lib指的是Dropbox".但是必须有一些对该库的引用,否则链接器不会抱怨.您可以在目标设置的"构建阶段"选项卡的"链接二进制文件库"部分中进行检查.