Mon application est une application de menu qui se trouve dans les extras de menu fonctionnant en arrière-plan, et j'essaie de la faire fonctionner à la connexion. Quelle est la dernière pratique recommandée pour y parvenir dans High Sierra avec Swift 4 ?
Selon Conception de démons et de services Il existe quatre processus d'arrière-plan différents sous MacOS.
Puisque je veux que mon application s'exécute à la connexion de l'utilisateur, je suppose que ce sera soit l'élément de connexion, soit l'agent de lancement. Cependant, pour l'élément de connexion, il semble qu'il y a deux façons de mettre en œuvre Utilisation du cadre de gestion des services ou d'une liste de fichiers partagés.
J'ai d'abord essayé d'utiliser la liste des fichiers partagés, en me basant sur ce qui suit. exemple à partir de github. Cependant, Xcode affiche un tas d'avertissements et d'erreurs indiquant qu'il n'est plus compatible avec Swift 4 et les derniers MacOS.
Ensuite, j'ai réussi à le faire fonctionner en utilisant SMLoginItemSetEnabled à partir de ce guide . Cependant, en utilisant cette méthode, mon application n'apparaît pas dans les préférences système sous les éléments de connexion.
La méthode de la liste des fichiers partagés n'est pas du tout disponible pour Swift 4 et High Sierra ?
Qu'en est-il de l'agent de lancement ? Je n'ai pas trouvé beaucoup de guide sur la création d'une application comme agent de lancement avec Swift. J'apprécierais si quelqu'un pouvait partager un code.
Merci !