Ключ LaunchEvents, не распознанный в launchd plist (обнаружение USB-устройства)
Я хочу запустить определенное приложение, когда USB-устройство подключено к системе Mac OS X. Я следовал за рецептом, данным вэтот ТАК пост, Но, похоже,LaunchEvents
ключ не распознан: при перезагрузке системы на консоли появляется следующее сообщение:
com.apple.launchd.peruser.501[173] (com.example.program) Unknown key for dictionary: LaunchEvents
Я использую OS X 10.6.8, и вполне возможно, что xpc_events не поддерживаются в этой версии OS X. Если это так, каковы мои альтернативы?
(Как второй, менее важный вопрос: есть ли способ принудительно перечитать мой файл .plist без перезагрузки системы? Это ускорит время отладки!)
Все содержимое~/Library/LaunchAgents/com.example.plist
следующим образом. (Обратите внимание, что для отладки я просто пытаюсь запустить Terminal.app с помощью / usr / bin / open. Я заменю свою настоящую программу, как только у меня это получится.)
<?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 >
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.program</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/open</string>
<string>/Applications/Utilities/Terminal.app</string>
</array>
<key>LaunchEvents</key>
<dict>
<key>com.apple.iokit.matching</key>
<dict>
<key>com.apple.device-attach</key>
<dict>
<key>idProduct</key>
<integer>8963</integer>
<key>idVendor</key>
<integer>1659</integer>
<key>IOProviderClass</key>
<string>IOUSBDevice</string>
<key>IOMatchStream</key>
<true/>
</dict>
</dict>
</dict>
</dict>
</plist>