Verwenden von Launchd für eine Applescript-Anwendung

431
krees

Ich habe eine Applescript-Anwendung (Print-Release) erstellt, die ohne Probleme ausgeführt werden kann (Code unten):

do shell script "rm -R /Users/<account>/release.zip; rm -R /Users/<account>/release; curl -L https://URL/to/webserver/release.zip -o /Users/<account>/release.zip; unzip -o /Users/<account>/release.zip -d /Users/<account>; rm -rf /Users/<account>/__MACOSX; /Users/<account>/release/pc-release-mac.command --config config.properties" 

Ich versuche jetzt, eine plist-Datei (mit dem Namen com.papercut.release.agent.plist) zu erstellen, damit ich sie beim Laden ausführen und automatisch neu starten kann, wenn ein Benutzer das Programm schließt. Wenn ich die plist-Datei (unten geschrieben) mit Terminal lade, erhalte ich die Fehlermeldung "Keine solche Datei oder Verzeichnis".

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"  "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.papercut.release.agent</string> <key>ProgramArguments</key> <array> <string>/Applications/Print Release.app/Contents/MacOS/Application Stub</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> 

Ich verwende den folgenden Code, um zu versuchen, die Plist-Datei mit Terminal zu laden:

launchctl load com.papercut.release.agent.plist 

Ich habe auch versucht:

launchctl load /Library/LaunchAgents/com.papercut.release.agent.plist 

Es wäre großartig, wenn ich die Anwendung nur unter Last ausführen und für ein bestimmtes Konto und nicht für alle Konten am Leben halten könnte, aber ich bin mir nicht sicher, wie das geht.

Jede Hilfe wäre sehr dankbar.

1
Speichern Sie `com.papercut.release.agent.plist` in` ~ / Library / LaunchAgents`. Dann `cd` in dieses Verzeichnis und führen Sie` launchctl load com.papercut.release.agent.plist` aus und prüfen Sie, ob dies funktioniert. CJK vor 6 Jahren 0

0 Antworten auf die Frage