1 votos

¿Cómo se analiza la salida de lsappinfo?

Hay una buena herramienta lsappinfo que te permite hacer cosas como monitorear el cambio de aplicaciones. Me gustaría escribir un programa que ejecute lsappinfo listen y realiza acciones cuando la aplicación en primer plano cambia (concretamente, cambia los colores del LED en mi nuevo teclado).

¿Alguien sabe cuál es el formato de serialización que utiliza lsappinfo? Se parece a esto:

$ lsappinfo listen +becameFrontmost forever
Notification: kLSNotifyBecameFrontmost time=10/18/2017 06:58:18.843 dataRef={ "ApplicationType"="Foreground", "CFBundleIdentifier"="com.google.Chrome", "LSASN"=ASN:0x0-0x10010:, "LSFrontApplicationSeed"=3367, "LSMenuBarOwnerApplicationSeed"=3270, "LSMenuBarOwnerASN"=ASN:0x0-0x10010:, "LSOtherASN"=ASN:0x0-0x2f52f5: } affectedASN="Google Chrome" ASN:0x0-0x10010:  context=0x0 sessionID=186a6 notificationID=0x7fb529d00a90
Notification: kLSNotifyBecameFrontmost time=+0.835684s  dataRef={ "ApplicationType"="Foreground", "CFBundleIdentifier"="org.gnu.Emacs", "LSASN"=ASN:0x0-0x2f52f5:, "LSFrontApplicationSeed"=3368, "LSMenuBarOwnerApplicationSeed"=3271, "LSMenuBarOwnerASN"=ASN:0x0-0x2f52f5:, "LSOtherASN"=ASN:0x0-0x10010: } affectedASN="Emacs" ASN:0x0-0x2f52f5:  context=0x0 sessionID=186a6 notificationID=0x7fb529d00a90

Es decir, puedo analizar esto con una regex buscando sólo el campo que quiero, pero sería mejor poder pasarlo a alguna biblioteca en lugar de usar una regex que podría fallar si los datos se ven raros. ¿Se trata de algún tipo de formato de serialización interno de MacOS del que no he oído hablar, o es algo que han inventado sólo para esta herramienta?

1voto

Technologeeks Puntos 11

No es necesario: hay un clon de código abierto en http://newosxbook.com/tools/lsdtrip.html que puede obtener las llamadas a la API subyacente que utiliza Apple.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X