我正在尝试在applicationWillFinishLaunching:
中显示启动屏幕,但实际上要等到applicationDidFinishLaunching:
秒后才会显示。我已尽我所能使它显示出来:
[NSApp activateIgnoringOtherApps: YES];
[splashWindow orderFrontRegardless];
[splashWindow display];
[[splashWindow graphicsContext] flushGraphics];
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
一个现在已删除的答案建议打[CATransaction flush]
,我尝试过,但是没有用。
我想我可以等到applicationDidFinishLaunching:
才开始初始化,但是我想确保在一切准备就绪之前,该应用程序不会开始打开文档。
(此similar question的接受答案并不能回答这个问题,反而回避了很多。Another similar question的接受答案基本上只是说要在applicationWillFinishLaunching:
中显示窗口,这对我来说确实是失败的。那是在2009年写的,也许现在的行为有所不同。)
新线索:如果我使用“无需状态恢复就启动应用程序”选项在Xcode中运行应用程序,则启动窗口会更快出现。