Programmgesteuert ausführen beim starten auf Mac OS X?
Wie kann ich programmgesteuert eine Anwendung bundle auf Mac OS X auszuführen, wenn der Benutzer sich anmeldet?
Im Grunde das äquivalent zu den HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Registrierungsschlüssel in Windows.
InformationsquelleAutor der Frage Jake Petroules | 2010-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie fügen Sie die Anwendung dem Benutzer die "Login Items" (unter System-Einstellungen=>Accounts=[Benutzer]), oder Sie können hinzufügen, ein launchd agent des Benutzers
~/Library/LaunchAgents
Ordner (sieheman launchd.plist
). Verwenden~/Library/LaunchDaemons/
wenn Ihre app keine Benutzer-zugewandten UI. Wie andere weisen darauf hin, launchd gibt Ihnen eine Menge Kontrolle über, wenn die app gestartet wird, was passiert, wenn die app beendet wird oder abstürzt, etc. und ist am meisten geeignet für "daemon" style apps (mit und ohne UI).Die erste option (Login Items) manipuliert werden können programmgesteuert (link von Gordon).
InformationsquelleAutor der Antwort Barry Wark
Die "richtige" Methode ist die Schaffung ein LaunchAgent für Prozesse, die Sie starten möchten bei der Anmeldung, Benutzeroberfläche und ein LaunchDaemon für solche, die eigentlich Reine hintergrund-Prozesse.
In Ihrem installer lassen Sie Ihre plist in den richtigen Ordner, entweder für den Benutzer oder für alle Benutzer oder das system. Der Grund, diese Methode ist besser ist, weil launchd verwenden, um zu Steuern, wie Sie Ihren Prozess ausgeführt wird, einschließlich die eingebaute Fähigkeit, um sicherzustellen, dass es läuft, auch wenn es abstürzt oder getötet durch den Benutzer.
InformationsquelleAutor der Antwort Jeremy
Als ein Beispiel unten.
Erstellen Sie eine Datei
~/Library/LaunchAgents/meine.everydaytasks.plist
Mit Inhalt:
Siehe die original-Beitrag, die mir geholfen haben, um in diesem Beispiel:
https://superuser.com/a/229792/43997
Zu testen, müssen Sie folgenden Befehl in terminal
Entladen
Siehe auch
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html
Das ist die andere Möglichkeit, das hinzufügen Ihrer Anwendung Startup mit "Login Items". Siehe dieses Beispiel-Projekt, wie es zu realisieren:
https://github.com/justin/Shared-File-List-Example
InformationsquelleAutor der Antwort Dmitriy
Werfen wollte, diese sich hier jemand mit Qt /C++. Qt macht es super einfach zu bedienen plists durch die QSettings Klasse. Überprüfen Sie heraus dieses code-snippet, das von einer Probe dummy-Anwendung.
InformationsquelleAutor der Antwort jocull