2012-09-24 54 views
11

我最近升級了我的代碼庫以使用iOS6 Base SDK - 我使用的是XCode 4.5。我只需要將dylibxml2.2.3.7更改爲dylibxml2.2。它在6.0模擬器上正常工作。我正在使用像GoogleAnalytics,T​​hree20這樣的庫。升級到Xcode4.5後的運行時異常iOS6基本SDK

但是當我運行在iOS 5(iPhone4的)的代碼,它在啓動時崩潰此以下錯誤:

我不能說出它究竟是因爲崩潰所有我看到的是本機代碼時,崩潰

使dyld:延遲符號綁定失敗:找不到符號:_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

回答

29

我遇到了同樣的錯誤也建設自己的lib和在我的示例代碼運行時。仔細閱讀構建日誌後,我現在找出原因。

我將我的部署目標設置爲iOS 3.0,但最新的Xcode僅支持iOS 4.3及更高版本。因此,編譯器會自動將部署目標設置爲iOS 6.0,這會在項目在iOS 6.0下運行時生成錯誤。我通過在我的lib項目中將部署目標設置爲iOS 4.3來解決它。

+0

太棒了!爲我工作 - 我完全忽略了這一部分 - 當你升級到新的iOS和新的xCode時,它的不可思議的事情會變得多麼瘋狂 - 謝謝! – user510164

+0

+1它爲我工作。 – ajay

0

僅在常常SDK部署目標中存在問題。我剛創建了一個基於標籤的應用程序沒有在任何文件中做任何改變。在ios 6模擬器上運行良好,但是如果我將
部署目標更改爲5,並在創建異常(信號SIGABRT)的ios 5模擬器上運行。 Xcode版本4.5和默認部署目標SDK 6.0。

+0

+1 for iPhoney answer。除此之外,如果您正在使用xib或故事板,請確保在運行ios5時取消選中界面構建器中的「useautolayout」。默認情況下,此選項爲ios6 sdk目標進行檢查。 – Panesar

0

或者它可能是因爲您正在使用的是使用比您的項目基礎SDK更高的基礎SDK進行編譯的庫。

相關問題