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 

请build议!

正如Xcode 6.1发行说明中提到的,问题在于,您正在链接在iOS 7.1中运行时添加到优胜美地和iOS 8的新框架。 不幸的是,这会导致dyld在iOS 7.1模拟器运行时运行时尝试引入库的主机版本。

如果应用程序与iOS 8 SDK和OS X 10.10 SDK中新增的框架相关联,则可能无法运行,如果运行目标是针对较旧的iOS运行时的iOS模拟器,并且主机系统正在运行OS X Yosemite。 (17807439)

此外,如果您的iOS 7.1模拟器运行时未完全安装(例如:由于安装中断),可能会发生这种情况。 如果发生这种情况,dyld会同样回退到缺less库的主机(如果有的话)。

iOS 8.0和更高版本有自己的dyld,它会拒绝主机版本的库,因此将来会阻止这类问题。

Xcode 6.2及更高版本安装的iOS 7.1 Simulator运行时已更新,以解决此问题。

经过几天的努力才知道,我的操作系统文件被损坏了。 所以,我已经格式化了我的机器,并重新安装了新的MAC OS X Mavericks。

现在一切正常。

尝试在import语句中查找input错误,可能意外input了inport吗?

这是苹果工具的官方错误。 这几天我也遇到了同样的问题。 更新到最新版本会没事的。

mac-ruilong:〜winroot $ xcodebuild -showsdks

OS X SDKs:

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

iOS SDKs:

 iOS 8.1 -sdk iphoneos8.1 

iOS模拟器SDK:

 Simulator - iOS 8.1 -sdk iphonesimulator8.1 

参考: Xcode 5.1 iOS模拟器7.1黑屏问题(dyld:Symbol not found:__dealloc)