【问题标题】:Xcode crashes when I run my Objective-C project当我运行我的 Objective-C 项目时 Xcode 崩溃
【发布时间】:2013-04-08 15:06:50
【问题描述】:

我正在运行 Xcode 4.6.1,使用最新的 SDK,我可以很好地构建项目,但是当我尝试运行它时,它崩溃了。

这是崩溃报告的开头。

Process:         Xcode [13573]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         4.6.1 (2067)
Build Info:      IDEApplication-2067000000000000~2
App Item ID:     497799835
App External ID: 14581035
Code Type:       X86-64 (Native)
Parent Process:  launchd [278]
User ID:         501

Date/Time:       2013-04-08 17:57:47.633 +0300
OS Version:      Mac OS X 10.8.3 (12D78)
Report Version:  10

Interval Since Last Report:          39613 sec
Crashes Since Last Report:           3
Per-App Interval Since Last Report:  1751 sec
Per-App Crashes Since Last Report:   2
Anonymous UUID:                      DC5CB8D0-2A9C-75E6-5631-42D5362B172F

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
ProductBuildVersion: 4H512
UNCAUGHT EXCEPTION (NSInvalidArgumentException): -[__NSCFString alloc]: unrecognized selector sent to instance 0x4009ce3e0
UserInfo: (null)
Hints: None
Backtrace:
  0  0x00007fff8ea76aee __exceptionPreprocess (in CoreFoundation)
  1  0x00007fff867863f0 objc_exception_throw (in libobjc.A.dylib)
  2  0x00007fff8eb0d40a -[NSObject(NSObject) doesNotRecognizeSelector:] (in Core Foundation)

正在构建和编译的代码来自 Xcode 中命令行工具的模板

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {

        // insert code here...
        NSLog(@"Hello, World!");

    }
    return 0;
}

【问题讨论】:

  • 显示一些代码是个好主意。但看起来您正在尝试调用无效方法或类似方法。请参阅回溯 2 - "...[NSObject(NSObject) doesNotRecognizeSelector:]..." 为了找出问题所在,您需要显示更多代码。谢谢!
  • 如果 Xcode 崩溃,您应该将其作为错误报告给 Apple。
  • 我在 Xcode 中使用命令行工具模板中的代码。我没有写任何代码。基本上使用 NSLog(@"Hello, World!");
  • Xcode ever 的安装是否有效?首先要尝试的是“清理”应用程序。接下来,尝试创建一个新应用程序,看看它是否有效。否则,请删除 DerivedData。并且,如果失败,请完全删除并重新安装 Xcode。
  • @Josiah 你误读了这个问题。他的应用程序/项目没有崩溃。 Xcode 本身正在崩溃。没有可显示的代码;他没有 Xcode 本身的代码! (好吧,如果他愿意,我想带他去吃午饭。)

标签: objective-c xcode macos


【解决方案1】:

这似乎是 Xcode 安装损坏和/或系统坏了。

如果您可以打开/构建/运行其他项目,我会感到惊讶。如果是这样,这可能是派生数据文件夹是双层的情况。尝试删除~/Library/Developer/Xcode/DerivedData(假设您已将其保留在默认位置。

另外,请查看 Console.app 并查看是否有任何令人不安的消息。

【讨论】:

  • 如果控制台消息是“我知道你住在哪里”,请特别担心。
  • 我仍然想知道到底是什么导致 NSString 的具体子类拒绝向 +alloc 发送消息。
  • 损坏的 dyld 缓存可能会导致此问题。损坏的dylib或可执行文件也是如此。或者与运行时有关的东西。但是,是的,有些事情严重不对劲。
猜你喜欢
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 2014-05-24
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多