objective-c - Cocoa 应用程序意外退出

标签 objective-c macos cocoa

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

我的 AppDelegate 中有 application:openFile,我的 applicationDidFinishLaunching 中也不执行任何操作。

有人遇到过类似的事情吗?

编辑:

这是 crash 的链接报告

最佳答案

您可能会在

中找到崩溃报告
~/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 处理事件的应用程序框架中的某个位置。并不是您的方法调用的结果,而是可能在应用程序启动期间。

我不知道答案。您可以通过在 google/SO 中搜索崩溃日志中的各个文本来进一步推进它,并查看它是否会出现任何内容。

就我个人而言,接下来我要做的是非常仔细地检查应用程序包的内容,将您正在运行的内容与 XCode 正确运行的内容进行比较。检查所有文件是否都在那里。

关于objective-c - Cocoa 应用程序意外退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16720249/

相关文章:

macos - Objective-C 将图像拖入 NSTextView 子类

ios - 在代码生成的 UIView 上绘制 UIBezierPath

macos - 操作系统: NSTableView cells with multiple lines?

ios - stripe中如何连接代他人收款

macos - Emacs 23、OS X、multi-tty 和 emacsclient

cocoa - 编写 Cocoa 应用程序脚本

cocoa - iOS8删除ALAsset

objective-c - Cmd+Shift+4 Cocoa/Obj-C 中的模拟错误

objective-c - 在 iOS 中编写通用应用程序

ios - 辅助 NSThread 中的 NSTimer 不起作用