我编写了一个基于文档的应用程序,它在应用程序启动时禁用了新文档的自动创建,而不恢复以前打开的文档。
现在我还想禁用应用启动时出现的打开面板。
打开的面板有时会applicationWillFinishLaunching:
在applicationDidFinishLaunching:
我的应用程序委托之间启动。
我可以弄清楚如何禁用此功能的唯一方法是[NSDocumentController openDocument:]
在子类中覆盖,然后创建一个辅助“帮助器”方法,然后我将连接到“文件”>“打开”菜单。这似乎是一个非常 hacky 的解决方案,想看看是否有人有更好的想法。
1 Core Animator 0x0000000100042121 -[NSDocumentController openDocument:] + 49
2 AppKit 0x00007fff8772ffe6 -[NSDocumentController(NSInternal) _showOpenPanel] + 63
3 AppKit 0x00007fff87244184 -[NSApplication _doOpenUntitled] + 290
4 AppKit 0x00007fff87243c91 __58-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:]_block_invoke + 252
5 AppKit 0x00007fff87243a59 __97-[NSDocumentController(NSInternal) _autoreopenDocumentsIgnoringExpendable:withCompletionHandler:]_block_invoke_3 + 140
6 AppKit 0x00007fff872435a1 -[NSDocumentController(NSInternal) _autoreopenDocumentsIgnoringExpendable:withCompletionHandler:] + 798
7 AppKit 0x00007fff87241cc6 -[NSApplication _reopenWindowsAsNecessaryIncludingRestorableState:registeringAsReady:completionHandler:] + 331
8 AppKit 0x00007fff87241a49 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 561
9 AppKit 0x00007fff87241495 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 244