C++ 调用LSLaunchFSRefSpec后如何初始化NSDocument?
我正在开发一个基于文档的应用程序。如果我从Finder执行此应用程序,它将按预期运行:首先执行C++ 调用LSLaunchFSRefSpec后如何初始化NSDocument?,c++,macos,nsdocument,launch-services,nsapplication-delegate,C++,Macos,Nsdocument,Launch Services,Nsapplication Delegate,我正在开发一个基于文档的应用程序。如果我从Finder执行此应用程序,它将按预期运行:首先执行nsapplicationelegateapplicationdFinishLaunching方法。然后完成NSPersistentDocument初始化。然后执行定义的NSDocumentmakeWindowController方法,该方法从WindowNibName创建窗口控制器 在使用Finder的情况下,一切正常,应用程序按预期启动。但是,如果我使用LaunchService参考中的LSLaun
nsapplicationelegate
applicationdFinishLaunching
方法。然后完成NSPersistentDocument
初始化。然后执行定义的NSDocument
makeWindowController
方法,该方法从WindowNibName
创建窗口控制器
在使用Finder的情况下,一切正常,应用程序按预期启动。但是,如果我使用LaunchService参考中的LSLaunchFSRefSpec
从另一个应用程序执行基于文档的应用程序,则该应用程序仅显示在Dock内部。没有窗口出现。不会初始化任何NSPersistentDocument
,也不会执行任何MakeWindowController
方法。仅调用ApplicationIDFinishLaunching
方法。
目前,只要我从dock通过单击鼠标激活应用程序,就可以完成窗口控制器的初始化和创建。我还测试了LSLaunchFSRefSpec
的不同启动标志,但没有成功
是否可以激活应用程序并自动创建其窗口?或者我可以模拟鼠标点击码头图标