Come altri hanno sottolineato, il metodo applicationShouldHandleReopen
per la riapertura di finestre chiuse in app non documentali è il modo giusto. L'unica modifica che voglio aggiungere è un modo più flessibile per verificare quale finestra deve essere nuovamente visualizzata, eseguendo l'iterazione tramite l'elenco NSApplication
di visibile e invisibile .windows
e controllando la finestra richiesta.
func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
if flag == false {
for window in sender.windows {
if (window.delegate?.isKind(of: WelcomeWindowController.self)) == true {
window.makeKeyAndOrderFront(self)
}
}
}
return true
}
Appendice
a) Se la finestra è stata nascosta allora verrà mostrato automaticamente quando l'utente cliccherà sull'icona Dock app, quindi non è necessario implementare applicationShouldHandleReopen
metodo.
b) Controllato "Rilascio chiuso" l'opzione non influisce in alcun modo sul comportamento precedente.
Questo succede automaticamente. Può essere più preciso? –