So rufen Sie die OSX-Anwendung ab, die aktuell wichtige Ereignisse empfängt
Ich folge demcocoa documentation um das aktuelle @ zu bestimmfront meiste Anwendung in OSX - auch bekannt als die Anwendung, die wichtige Ereignisse empfängt. Wenn ich jedoch den folgenden Befehl ausführe, gibt die API immer den gleichen Wert zurück -XCode
, aber es ändert sich nie zuchrome
oder eine andere Anwendung, wenn ich zu ihnen wechsle. Ich habe auch versucht, das kompilierte Programm auszuführen, aber anstatt ständig @ anzuzeigXCode
Es zeigt jetzt die Terminal-App, die ich verwende.
Was ist die richtige Methode zum Ermitteln der Anwendung, die die wichtigsten Ereignisse von OSX empfängt? Ist mein Code in dieser Hinsicht kaputt?
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);
}