Je suis en train de porter une application C++/Qt depuis Windows. Sous Windows, le programme fonctionne comme un service. Il est déconseillé aux programmes fonctionnant en tant que service d'interagir également avec l'utilisateur et d'afficher des éléments d'interface graphique.
Par conséquent, mon programme comporte deux parties. La première partie fonctionne comme un démon de service et joue de l'audio en arrière-plan. Le programme démarre au démarrage de l'ordinateur. Le second programme, qui démarre lorsque n'importe quel utilisateur se connecte (via le menu Démarrer->Tous les utilisateurs->Démarrage), communique via un socket local avec le démon de service pour afficher une fenêtre pop-up GUI lorsque l'audio est en cours de lecture.
En passant à MacOS, quelle est la meilleure pratique pour utiliser le même programme ?
Devrais-je fusionner les deux programmes en un seul et le lancer en tant que Root via launchd et faire en sorte que le démon unique affiche l'interface graphique et joue l'audio ?
Ou dois-je plutôt conserver deux programmes comme c'est le cas actuellement - le démon racine qui joue l'audio et trouver un moyen pour que le second programme puisse s'exécuter automatiquement lorsque chaque utilisateur se connecte ?