He creado un agente de lanzamiento de OS X que se instala por usuario. Está escuchando el socket y se lanza automáticamente cuando llega la conexión del socket. En mi .plist tengo
<key>ProgramArguments</key>
<array>
<string>~/Library/Containers/com.mycompany.myproduct/myproduct.app/Contents/MacOS/myproduct</string>
</array>
Cuando me conecto al socket de mi agente de lanzamiento recibo un mensaje en la consola diciendo que mi agente de lanzamiento no se encuentra. Al cambiar el .plist ProgramArguments a
<string>/Users/myusername/Library/Containers/com.mycompany.myproduct/myproduct.app/Contents/MacOS/myproduct</string>
El agente de lanzamiento se carga correctamente. Así que parece que tengo que modificar el .plist para cada usuario durante la instalación del agente de lanzamiento. ¿Cómo puedo hacer esto automáticamente o fácilmente? ¿Existe una forma estándar para esto? ¿O debo hacer algo totalmente diferente para lograr lo que quiero?