Я делаю приложение для панели меню для macOS. Иногда приложению необходимо представить пользователю окно, которое я сейчас делаю с
var windowController : NSWindowController!
let mainStoryBoard = NSStoryboard(name: NSStoryboard.Name("StoryboardName"), bundle: nil)
windowController = mainStoryBoard.instantiateController(withIdentifier: NSStoryboard.SceneIdentifier("WindowID")) as! NSWindowController
windowController.showWindow(self)
Я также активирую приложение, игнорируя все остальные приложения, и делаю ключ окна и основной. Это работает нормально, однако моя проблема заключается в том, что как только я покидаю окно (например, открывая управление полетом или переключаясь в другое пространство) и возвращаюсь к окну (закрывая управление полетом или возвращаясь в исходное пространство), мое приложение мое окно больше не сфокусировано, мое окно опускается назад, и любое приложение, которое было позади моего, теперь активно.
Так что, если у меня окно моего приложения поверх окна Safari, я переключаюсь на другое пространство, а затем возвращаюсь, мое приложение теперь «потеряно» за окном Safari, и Safari активен. Я попытался удалить ключ info.plist «Приложение только для фона», чтобы в приложении была значок закрепления, и проблема не исчезла. Что я делаю неправильно? И как мне заставить мои окна вести себя как обычные окна? Помогите! Спасибо.