升级到Xcode4.5 iOS6 Base SDK后的运行时异常

时间:2012-09-24 22:14:17

标签: ios6 xcode4.5

我最近将我的代码库升级为使用iOS6 Base SDK - 我使用的是XCode 4.5。我只需要将dylibxml2.2.3.7更改为dylibxml2.2。它在6.0模拟器上运行良好。我正在使用像GoogleAnalytics,T​​hree20这样的库。

但是当我在iOS 5(iPhone4)上运行代码时,它会在启动时崩溃并出现以下错误:

我无法分辨它到底崩溃的原因,因为我看到的只是崩溃时的机器代码

dyld:懒惰符号绑定失败:未找到符号:_objc_setProperty_nonatomic

  

引用自:/ Users // Library / Application Support / iPhone Simulator / 5.0 / Applications //

     

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/Foundation.framework/Foundation

3 个答案:

答案 0 :(得分:29)

在构建我自己的lib并在我的示例代码中运行它时,我也遇到了同样的错误。仔细阅读构建日志后,我现在找出原因。

我将部署目标设置为iOS 3.0,但最新的Xcode仅支持iOS 4.3及更高版本。因此,编译器会自动将部署目标设置为iOS 6.0,只要项目在iOS 6.0下运行,就会生成错误。我通过在我的lib项目中将部署目标设置为iOS 4.3来修复它。

答案 1 :(得分:0)

仅在changng SDK部署目标中存在问题。我刚创建了一个基于标签的应用程序没有对任何文件进行任何更改。在ios 6模拟器上正常运行,但如果我改变了 部署目标为5并在ios 5模拟器上运行,该模拟器正在创建异常(信号SIGABRT)。 Xcode版本4.5和默认部署目标SDK 6.0。

答案 2 :(得分:0)

或者可能是您使用的库是使用比项目库SDK更高的基础SDK编译的。