2014-06-06 51 views
7

我突然收到下面的錯誤,它不允許任何應用程序在模擬器中運行。該應用只是崩潰。iOS怪異錯誤:dyld:找不到符號:__dealloc?

dyld: Symbol not found: __dealloc 
    Referenced from: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 
    Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/lib/libobjc.A.dylib 
in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 

請建議!

+0

我想一些框架被刪除。檢查你的垃圾,如果它不存在,那麼你必須重新安裝xcode。 – Indrajeet

+0

@Indrajeet刪除XCode廣告重新安裝,但沒有幫助。 –

回答

0

經過幾天的掙扎才知道我的操作系統文件被破壞了。所以,我已經格式化了我的機器並重新安裝了新的MAC OS X Mavericks。

現在一切正常。

+0

我的項目在xcode5.1.1和ios 7.1.1中工作正常,但每當我在xcoode6中運行該項目時都會顯示錯誤,請幫我解決這個問題。 – sandy

+1

對於很多人來說這不是一個合適的解決方案。其他人是否以其他方式獲得這項工作? – Ashutosh

+0

你是如何發現你的操作系統文件被破壞的? – Unheilig

-1

嘗試查找import聲明中的拼寫錯誤,或許inport被意外鍵入?

+0

不,這不是問題。即使是全新的基於單視圖的應用程序也無法正常工 –

-1

這是Apple工具中的官方錯誤。這些天我遇到了同樣的問題。更新到最新版本可以。

MAC-瑞龍:〜WINROOT $ xcodebuild聯編-showsdks

OS X軟件開發工具包:

OS X 10.9      -sdk macosx10.9 
OS X 10.10      -sdk macosx10.10 

的iOS軟件開發工具包:

iOS 8.1       -sdk iphoneos8.1 

iPhone模擬器的SDK:

Simulator - iOS 8.1    -sdk iphonesimulator8.1 

參考: Xcode 5.1 iOS simulator 7.1 black screen issue (dyld: Symbol not found: __dealloc)

3

正如在Xcode 6.1 Release Notes中所提到的,問題在於您正在鏈接到在iOS 7.1中運行時添加到優勝美地和iOS 8的新框架。不幸的是,這會導致dyld在iOS 7.1模擬器運行時運行時嘗試引入庫的主機版本。

If an app is weak linked against frameworks new in iOS 8 SDK and OS X 10.10 SDK, it may fail to run if the run destination is an iOS Simulator for older iOS runtimes and the host system is running OS X Yosemite. (17807439)

此外,如果您的iOS 7.1模擬器運行時未完全安裝(例如:由於安裝中斷),可能會發生這種情況。如果發生這種情況,如果可用,dyld將同樣回退到缺失庫的主機。

iOS 8.0及更高版本擁有自己的dyld,它將拒絕在主機版本的庫中提取數據,從而避免將來出現這類問題。

已更新由Xcode 6.2及更高版本安裝的iOS 7.1 Simulator運行時,以解決此問題。

+0

可以確認它發生在未完全安裝的SDK上 – Ivan

相關問題