runtime exception after upgrade to Xcode4.5 iOS6 B

2019-03-25 15:44发布

I recently upgraded my codebase to use iOS6 Base SDK - I am using XCode 4.5. I only had to change the dylibxml2.2.3.7 to dylibxml2.2. It works fine on the 6.0 simulator. I am using libs like GoogleAnalytics, Three20.

But when i run the code on iOS 5 (iPhone4), it crashes at launch with this following error:

I can't tell where it is exactly crashing because all I see is the machine codes when it crashes

dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic

Referenced from: /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

标签: ios6 xcode4.5
3条回答
别忘想泡老子
2楼-- · 2019-03-25 16:15

There is a problem in changng SDK deployment target alone. I just created a tab based application. Didn't do any change in any file. Running fine on ios 6 simulator but if I change
deployment target to 5 and run on ios 5 simulator which is creating exception(signal SIGABRT). Xcode version 4.5 and default deployment target SDK 6.0.

查看更多
祖国的老花朵
3楼-- · 2019-03-25 16:27

I meet the same error too when building my own lib and run it in my sample code. After reading the build log carefully, I figure out the reason now.

I set my deployment target to iOS 3.0, but the latest Xcode only support iOS 4.3 and later. So the compiler automatically set the deployment target to iOS 6.0, which generates error whenever the project is running under iOS 6.0. I fixed it by setting the deployment target to iOS 4.3 in my lib project.

查看更多
▲ chillily
4楼-- · 2019-03-25 16:32

Or it could be that you are using a library that was compiled with a higher base SDK than your project base SDK.

查看更多
登录 后发表回答