I haven't been able to figue out why launchctl
is saying this .plist
is invalid.
I'm trying to run a Python script once a day at 8AM. the first program argument is the path to the pyenv virtualenv binary, the second is to my Python script.
Is there a method of verifying what I have gotten right or wrong in this .plist
file? launchctl
is not obvious with the errors it returns, it's just:
Invalid Property List.
I'm aware there are tools out there that can create and manage these jobs, but I wanted to better understand what's going on under the hood.
This is my .plist
:
<?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.conall.autowallpaper</string>
<key>ProgramArguments</key>
<array>
<string>/Users/conall/.pyenv/versions/3.6.2/envs/auto_wallpaper-3.6.2/bin/python</string>
<string>/Users/conall/python/projects/auto_wallpaper/auto_wallpaper.py</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<Key>Minute</Key>
<integer>0</integer>
<key>Hour</key>
<integer>8</integer>
</dict>
</dict>
</plist>
Yes, you can use the plutil
command to check the syntax of property list files.
In your case:
$ plutil test.plist
test.plist: Encountered unknown tag Key on line 14
That means your Key
tag should be lowercase, so it should be key
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With