Cómo recuperar la aplicación OSX que actualmente recibe eventos clave

Estoy siguiendo eldocumentación de cacao para determinar la corrienteaplicación más frontal en OSX, también conocido como la aplicación que recibe eventos clave. Sin embargo, cuando ejecuto el siguiente swift, la API siempre me devuelve el mismo valor:XCode, pero nunca cambia achrome o cualquier otra aplicación cuando me cambio a ellas. También intenté ejecutar el programa compilado pero en lugar de mostrar constantementeXCode ahora muestra la aplicación de terminal que estoy ejecutando.

¿Cuál es la forma correcta de determinar la aplicación que recibe los eventos clave de OSX? ¿Mi código a este respecto está roto?

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);
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta