2

我正在开发基于文档的应用程序。如果我从 Finder 执行此应用程序,它会按预期运行:首先NSApplicationDelegate applicationDidFinishLaunching执行该方法。然后NSPersistentDocument初始化完成。之后NSDocument makeWindowControllers执行定义的方法,从WindowNibName's 创建窗口控制器。

如果使用 Finder,一切正常,应用程序按预期启动。但是,如果我将使用 Launch Service Reference 从另一个应用程序执行基于文档的应用程序LSLaunchFSRefSpec,则该应用程序仅显示在 Dock 中。没有窗口出现。NoNSPersistentDocument将被初始化并且不会makeWindowControllers执行任何方法。只有applicationDidFinishLaunching方法被调用。目前,如果我通过单击鼠标从 Dock 激活应用程序,则可以完成窗口控制器的初始化和创建。我还测试了不同的启动标志LSLaunchFSRefSpec,但没有任何成功。

是否可以激活应用程序并自动创建它们的窗口?或者也许我可以模拟鼠标点击停靠图标?

4

0 回答 0