7 votes

Launchctl dit pli

J'essaie de faire en sorte que launchd exécute un shell script lorsque je rejoins un nouveau réseau WiFi. J'ai créé ce fichier plist (très proche de cette réponse de SuperUser ) à /Users/myname/Library/LaunchAgents/my.networkChangeListener.plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" \
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
  <key>Label</key>
  <string>my.networkChangeListener</string>
  <key>LowPriorityIO</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
<string>/Users/myname/bin/networkChangeListener/onNetworkChange.sh</string>
  </array>
  <key>WatchPaths</key>
  <array>
    <string>/etc/resolv.conf</string>
    <string>/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist</string>
    <string>/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

Mon utilisateur est le propriétaire de la liste, et le groupe est "staff".

Lorsque j'essaie de charger le fichier en exécutant launchctl load ~/Library/LaunchAgents/my.networkChangeListener.plist Je reçois un message d'erreur indiquant "Liste de propriétés non valide".

Cependant, lorsque j'exécute plutil ~/Library/LaunchAgents/my.networkChangeListener.plist il renvoie "OK"

Quel est le problème avec mon fichier plist ? Est-ce que c'est quelque chose de spécifique à launchd ? Je suis dans une impasse totale quant à la manière de déboguer ce problème.

0voto

Velociraptors Points 1509

Une liste de contrôle totalement vierge ressemble à ceci :

<?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/>
</plist>

J'utilise PlistEdit Pro lorsque je dois effectuer de nombreuses modifications, car il est facile de faire des erreurs.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X