J'ai créé l'application Cocoa qui est un type d'agent de lancement. Pour distribuer cela, j'ai créé un paquet qui installe l'application et copie le fichier plist launchagnet dans/Libraries/LaunchAgents.Cocoa Agent de lancement s'enregistrant après l'installation
Maintenant, le problème est après l'installation, je veux que cette application soit exécutée dans le contexte de l'utilisateur immédiatement sans déconnexion/redémarrage. Si je l'enregistre avec "launchctl" du programme d'installation, en utilisant le script post-installation, il s'exécutera dans le contexte racine, car le programme d'installation s'exécute dans le contexte racine.
Toute suggestion sur la façon dont l'agent s'enregistre lui-même dans launchctl et s'exécute dans le contexte de l'utilisateur.
J'ai essayé cela mais cela me donne l'erreur: "launch_msg(): socket n'est pas connecté" .. une idée? – Unicorn
Ça a marché pour moi. Vous ne devriez recevoir ce message que si vous essayez d'installer en tant qu'utilisateur différent de celui qui s'est connecté (http://lists.macosforge.org/pipermail/launchd-dev/2009-June/000553.html). –
J'ai aussi essayé à partir du terminal, en donnant directement le nom de l'utilisateur au lieu d'utiliser la macro env, obtenant la même erreur. C'est le seul utilisateur actuellement connecté. Vous ne savez pas ce qui ne va pas. Je pense que je pourrais avoir besoin d'utiliser la déconnexion après l'installation. Merci de votre aide. – Unicorn