Cocoa应用程序意外退出

时间:2013-05-23 17:27:18

标签: objective-c macos cocoa

我写了一个 Objective-C Cocoa 应用程序,它可以打开我自己定义的一些独特的文件类型。如果我从Xcode运行我的应用程序并在我正在运行的应用程序上拖放其中一个独特的文件一切正常,它会打开文件。如果我运行我构建的应用程序然后拖放其中的任何这些独特文件,那么它将退出并显示我的应用程序意外退出的消息。此外,如果我双击任何这些独特的文件,它会尝试使用我的应用程序打开它,但后来我收到了我的应用程序意外退出的相同消息。

我的application:openFile中有AppDelegate,我的applicationDidFinishLaunching也没有做任何事。

有人遇到类似的东西吗?

编辑:

以下是crash报告

的链接

1 个答案:

答案 0 :(得分:2)

您可能会在

中找到崩溃报告
~/Library/Logs/DiagnosticReports/

打开它看看。它应该让你缩小问题的范围。

修改 从您发布的崩溃日志中:

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

所以我们需要查看线程0的错误。

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff9ac05212 __pthread_kill + 10
1   libsystem_c.dylib               0x00007fff96563b54 pthread_kill + 90
2   libsystem_c.dylib               0x00007fff965a7dce abort + 143
3   libc++abi.dylib                 0x00007fff908b29eb abort_message + 257
4   libc++abi.dylib                 0x00007fff908b039a default_terminate() + 28
5   libobjc.A.dylib                 0x00007fff97366887 _objc_terminate() + 111
6   libc++abi.dylib                 0x00007fff908b03c9 safe_handler_caller(void (*)()) + 8
7   libc++abi.dylib                 0x00007fff908b0424 std::terminate() + 16
8   libc++abi.dylib                 0x00007fff908b161b __cxa_rethrow + 85
9   libobjc.A.dylib                 0x00007fff97366575 objc_exception_rethrow + 40
10  com.apple.Foundation            0x00007fff91d957bb -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 484
11  com.apple.Foundation            0x00007fff91d9556d _NSAppleEventManagerGenericHandler + 106
12  com.apple.AE                    0x00007fff9ac40078 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 307
13  com.apple.AE                    0x00007fff9ac3fed9 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 37
14  com.apple.AE                    0x00007fff9ac3fd99 aeProcessAppleEvent + 318
15  com.apple.HIToolbox             0x00007fff9121a709 AEProcessAppleEvent + 100
16  com.apple.AppKit                0x00007fff98c14866 _DPSNextEvent + 1456
17  com.apple.AppKit                0x00007fff98c13e22 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
18  com.apple.AppKit                0x00007fff98c0b1d3 -[NSApplication run] + 517
19  com.apple.AppKit                0x00007fff98bafc06 NSApplicationMain + 869
20  Real5D.Real5D                   0x000000010edc3ea2 main + 34 (main.mm:13)
21  libdyld.dylib                   0x00007fff9582c7e1 start + 1

所以有一个未被捕获的例外,来自Apple处理事件的应用程序框架中的某个地方。而不是你的方法调用的结果,但可能是在app启动时。

我不知道答案。您可以通过在崩溃日志中搜索google / SO获取单个文本位来进一步推进,并查看它可以显示任何内容。

我接下来要做的就是仔细检查App捆绑包的内容,将正在运行的内容与XCode正确运行的内容进行比较。检查所有文件是否存在。