Я пишу приложение на основе документов для Mac в Swift 4, которое, в соответствии с потребностями моего клиента, должно отображать окно лицензирования, в котором пользователь предоставит свой лицензионный ключ.
Я показываю это окно в методе applicationWillFinishLaunching()
. Пока это окно активно, методы восстановления состояния работают в фоновом режиме и загружают предыдущие nsdocument, либо создают пустые, если предыдущих не было. Я хочу избежать этого, я хочу иметь возможность выбирать, когда запускается восстановление и вести себя как приложение на основе документов.
Я пытался перехватить запуск приложения в методе appDelegate applicationShouldOpenUntitledFile(_ sender: NSApplication)
, но мне это не удалось. Затем я прочитал здесь, что этот метод не вызывается, если восстановление состояния приложения активен. Чтобы подтвердить это, я деактивировал восстановление, после чего последние документы или пустые документы больше не загружались/не создавались, как ожидалось. Здорово!
Но тогда я теряю приятную функциональность восстановления.
Мне интересно, есть ли лучший способ сделать это: отобразить экран лицензирования в приложении на основе документов, остановить методы восстановления и вызвать их вручную после лицензирования приложения.
Спасибо