如何防止基于文档的可可应用程序打开ANY文档?

mar*_*kjs 3 macos cocoa nsdocument nsdocumentcontroller

最近,每当我启动我的应用程序时,保存的文档都会导致崩溃。有没有一种方法可以防止基于文档的应用程序打开任何文档,包括新的空白文档或最新的活动文档?我不希望通过使用OSX功能(不在我的应用程序范围内)而是在程序中进行此操作。

我认为应该通过NSDocumentController某种方式完成此操作,但是我无法弄清楚,也没有运气在其他地方找到答案。

因此,如何告诉OSX应用程序(通过NSDocumentController)在启动时不要打开任何文档?

arr*_*rri 5

您可能正在寻找NSApplicationDelegate-protocol中定义的功能。具体来说,以下两种方法使您可以控制应用程序启动时发生的情况:

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见文档