iOS 5.1设备上运行的程序无法找到Xcode 4.5的SDK。

7
当我在iOS 5.1模拟器上运行我的项目时,它会显示:
yld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic_copy
  Referenced from: /Users/apple/Library/Application Support/iPhone Simulator/5.1/Applications/3A003E5F-2C66-494F-BCC1-C3EE82F01464/dogTree.app/dogTree
  Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation

我没有5.1的SDK。但是为什么库搜索路径是5.1而不是6.0?

我的所有项目都可以在iOS 6.0设备上运行,但是当我将它们安装到iOS 5.0或5.1设备上时,它们会崩溃并显示以下消息。

请给我一些帮助,是否需要iOS 5.1 SDK才能运行iPhone 5.1模拟器?

3个回答

22

我曾经遇到过同样的问题,后来发现原因是我忘了在一个包含的项目中修改目标平台。当升级时,Xcode会自动将目标平台切换到最新的iOS版本。只需更改包含项目的目标平台即可解决此问题。


我应该改变什么目标? - Jeff Wang

3

我遇到过类似的问题,并通过将每个静态库的部署目标设置为4.3(与我的应用程序的最低版本相同)来解决。我发现所依赖的静态库默认为6.0,这必须在需要向较低版本提供兼容性时导致一些库缺失。


2

对于像 pods 这样的库,其 iOS 部署目标设置在构建设置中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接