Я работаю над приложением на основе документов. Если я запускаю это приложение из Finder, оно запускается, как и ожидалось: сначала NSApplicationDelegate
applicationDidFinishLaunching
метод выполнен. Тогда NSPersistentDocument
инициализация сделана. После этого определяется NSDocument
makeWindowControllers
выполняется метод, который создает контроллеры окон из WindowNibName
«S.
В случае использования Finder все работает нормально, и приложение запускается, как и ожидалось. Но если я выполню основанное на документе приложение из другого приложения, используя LSLaunchFSRefSpec
из справочника по запуску приложение просто отображается внутри Dock. Окно не появляется. нет NSPersistentDocument
будет инициализирован и нет makeWindowControllers
метод будет выполнен. Только applicationDidFinishLaunching
метод называется.
На данный момент инициализация и создание контроллеров окна могут быть просто выполнены, если я активирую приложение из дока одним щелчком мыши. Я также проверил различные флаги запуска для LSLaunchFSRefSpec
без какого-либо успеха.
Можно ли активировать приложение и автоматически создавать свои окна? Или, может быть, я могу имитировать щелчок мышью по значку дока?
Задача ещё не решена.