Como recuperar o aplicativo OSX que atualmente recebe eventos importantes
Eu estou seguindo odocumentação de cacau para determinar a correntefrente mais aplicação no OSX - também conhecido como o aplicativo que recebe os principais eventos. No entanto, quando estou executando o seguinte rápido, a API sempre retorna o mesmo valor -XCode
, mas nunca muda parachrome
ou qualquer outro aplicativo quando mudar para eles. Eu também tentei executar o programa compilado, mas em vez de mostrar constantementeXCode
agora mostra o aplicativo de terminal que estou executando.
Qual é a maneira correta de determinar o aplicativo que recebe os principais eventos do OSX? Meu código nesse sentido está quebrado?
import Cocoa
func getActiveApplication() -> String{
// Return the localized name of the currently active application
let ws = NSWorkspace.sharedWorkspace()
let frontApp = ws.frontmostApplication
return frontApp.localizedName
}
var frontMostApp : String
while true {
frontMostApp = getActiveApplication();
NSLog("front app: %@", frontMostApp)
sleep(1);
}