2011-09-05 11 views
12

estoy llamandoCacao: Sandbox derecho a lanzar otra aplicación

[[NSWorkspace sharedWorkspace] launchApplication:path]; 

Desde mi aplicación recinto de seguridad, y estoy recibiendo este error en la consola:

9/5/11 12 : 23: 12.462 PM lsboxd: negarse a desovar < PATH EXPURGADO> para 21383 - razón -10826

9/5/11 12: 23: 12.463 PM Aplicación: spawn_via_launchd() falló, errno = 54 = etiqueta [0x0- 0x1994993] .MYApp ruta = < CAMINO REDUCIDO> flags = 0

9/5/11 12: 23: 12.464 PM Aplicación: LSOpenFromURLSpec() devolvió -10810 para la aplicación < RUTA OBSTRUIDA> (nula).

En otras palabras, yo estoy poniendo claramente bloqueado por el "Launch Services Sandbox Daemon" (lsboxd) que no piensa aplicación 1 debe ser el lanzamiento de aplicación 2.

Para el registro 10826 es " El usuario no tiene permiso para iniciar la aplicación "y luego 10810 es" Se ha producido un error desconocido "

¿Alguien sabe de un derecho para este caso?

¿Cómo puede lanzar otras aplicaciones desde una aplicación de espacio aislado (no diga AppleScript, es una pesadilla que no funciona, especialmente cuando se llama desde aplicaciones de espacio aislado o servicios XPC). Lo ideal es una forma de utilizar el NSWorkspace (gravemente paralizado) dentro de un sandbox.

Respuesta

3

El parámetro de launchApplication: es el nombre de la aplicación (es decir, algo así como @"Safari"), no su ruta. De esa manera, ha estado funcionando sin ningún tipo de derechos especiales para mí. No creo que pueda iniciar aplicaciones en rutas arbitrarias desde una aplicación de espacio aislado sin usar PowerBox.

+0

La ruta/nombre es opcional; funciona de cualquier manera. El problema principal es la caja de arena que impide el lanzamiento, y la falta de un derecho en torno a esto. De lo que encuentro en los foros, de hecho, no hay derecho. Esta es la pregunta principal, a menos que haya otra solución. – SG1

+1

Parece tener razón sobre la ruta/nombre, no lo sabía. Simplemente intenté ejecutar una aplicación de esta manera en una aplicación de espacio aislado y parece funcionar bien siempre que la aplicación esté en/Aplicaciones (supongo que ~/La aplicación también funciona pero no lo he probado). – omz

Cuestiones relacionadas