Asistente de lanzamiento desde la aplicación de espacio aislado
Tengo una aplicación de espacio aislado. Lo necesito para iniciar una aplicación auxiliar (desde el paquete principal de la aplicación) cada vez que se inicie. Sin embargo, esto falla:
<code>NSError *error; [[NSWorkspace sharedWorkspace] launchApplicationAtURL:helperURL options:NSWorkspaceLaunchDefault configuration:nil error:&error]; </code>
El error es:
La aplicación "Helper" no se pudo iniciar porque está dañada., NSUnderlyingError = 0x10214c700 "No se pudo completar la operación. (OSStatus error -10827.)"}
Ahora, el error es engañoso, porque la aplicación se inicia bien si deshabilito el derecho a la zona de pruebas. Al parecer, esto es un error, como se informóaquí.
Mi pregunta es:¿Hay una solución?
Podría usarSMLoginItemSetEnabled
, tal como se describeaquí:
Pasartrue
para iniciar la aplicación auxiliar inmediatamente e indicar que debe iniciarse cada vez que el usuario inicie sesión. Pasarfalse
para finalizar la aplicación auxiliar e indicar que ya no debe iniciarse cuando el usuario inicia sesión.
Pero, no puedo usar esta API sin preguntarle primero al usuario, debido a la Guía de revisión de la tienda de aplicaciones 2.26:
Se rechazarán las aplicaciones que están configuradas para iniciarse automáticamente o para que otro código se ejecute automáticamente al iniciar o iniciar sesión sin el consentimiento del usuario.
Por lo tanto, usar esta solución alternativa significaría preguntarle al usuario "¿Está bien lanzar un asistente cada vez que inicie sesión? ¡Si no, no puede usar esta aplicación!" Claramente, eso no es ideal ...