以前に開いたドキュメントを復元せずに、アプリの起動時に新しいドキュメントの自動作成を無効にするドキュメント ベースのアプリケーションを作成しました。
ここで、アプリの起動時に表示される開いているパネルも無効にしたいと思います。
開いているパネルが、アプリのデリゲートの間applicationWillFinishLaunching:
とその中で起動されることがあります。applicationDidFinishLaunching:
この機能を無効にする方法を理解できる唯一の方法は[NSDocumentController openDocument:]
、サブクラスで上書きしてから、[ファイル] > [開く] メニューに接続するセカンダリ 'ヘルパー' メソッドを作成することです。これは非常にハッキーな解決策のようで、誰かがより良いアイデアを持っているかどうかを確認したいと考えています.
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