Me gustaría despertar programáticamente una Mac. Comencé utilizando IOPMSchedulePowerEvent, sin embargo, ese método requiere acceso de administrador y ayudantes privilegiados. Lo he implementado y funciona, pero es demasiado complicado.¿Cómo programáticamente programar el despertar del sistema usando las preferencias del sistema en una Mac?
He buscado un mejor enfoque y descubrí que puede programar el sistema para que se active yendo a, Preferencias del sistema -> Ahorro de energía -> Programar. ¿Hay alguna manera de programar programáticamente una hora de despertar usando este método?
Gracias.
Editar: Entiendo que el sistema requiere acceso de administrador para programar la activación del sistema y el tiempo de suspensión. Es correcto. Me gustaría poder hacer esto programáticamente. Hacer que el usuario autorice la funcionalidad está bien, siempre que solo se le pregunte una vez. Las solicitudes posteriores para configurar el tiempo de reactivación del sistema no deberían requerir la autorización del usuario.
@Nicholas, ya he implementado un ayudante usando BAS, sin embargo, BAS usa launchd para ejecutar el helper. Al hacerlo, launchd requiere que el daemon auxiliar se instale en/Library/LaunchDaemons. Esta es la forma aprobada por Apple, pero para la tienda de aplicaciones Mac, a Apple no le gusta porque rompe una de sus reglas sobre la ubicación del archivo de la aplicación de archivos. – David
Sí, no puedes hacer esto si quieres enviarlo a la Mac App Store. Esto es por diseño y no hay forma de evitarlo.Presenta un error con Apple si esto es un problema para ti y quizás, algún día, ellos cambien las reglas. (Otras aplicaciones que usan autorización tienen versiones separadas para Mac App Store que eliminan la función de autorización). –
Bien, sé que es posible despertar el sistema de suspensión porque hay aplicaciones de alarma en la tienda que lo hace (ej. Aurora). La aplicación Aurora requiere una autenticación de administrador y utiliza una herramienta de ayuda para activar el sistema. No entiendo cómo pueden obtener una forma de no usar launchd. – David