iOS奇怪的错误:dyld:未找到符号:__ dealloc?

时间:2014-06-06 07:53:57

标签: ios ios-simulator

我突然得到以下错误,这不允许任何应用程序在模拟器中运行。该应用程序崩溃。

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

请建议!

4 个答案:

答案 0 :(得分:3)

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

  

如果某个应用与iOS 8 SDK和OS X中新增的框架相关联   10.10 SDK,如果运行目标是旧版iOS运行时的iOS模拟器并且主机系统运行OS X,则可能无法运行   优胜美地。 (17807439)

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

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

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

答案 1 :(得分:0)

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

现在一切正常。

答案 2 :(得分:-1)

尝试在import语句中找到拼写错误,可能会意外输入inport

答案 3 :(得分:-1)

这是Apple工具中的官方错误。这些天我遇到了同样的问题。更新到最新版本就可以了。

mac-ruilong:~winroot $ xcodebuild -showsdks

OS X SDK:

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

iOS SDK:

iOS 8.1                         -sdk iphoneos8.1

iOS模拟器SDK:

Simulator - iOS 8.1             -sdk iphonesimulator8.1

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