Chave LaunchEvents não reconhecida no launchd plist (detecção de dispositivo USB)
Quero iniciar um aplicativo específico quando um dispositivo USB estiver conectado a um sistema Mac OS X. Eu segui a receita dada emeste post de SO. Mas parece que oLaunchEvents
chave não é reconhecida: Quando eu reinicio meu sistema, vejo a seguinte mensagem no console:
com.apple.launchd.peruser.501[173] (com.example.program) Unknown key for dictionary: LaunchEvents
Estou executando o OS X 10.6.8 e é perfeitamente possível que xpc_events não sejam suportados nesta versão do OS X. Se este for o caso, quais são minhas alternativas?
(Como uma segunda questão, menos importante: existe uma maneira de forçar uma re-leitura do meu arquivo .plist sem reiniciar o sistema? Isso aceleraria o tempo de depuração!)
Todo o conteúdo de~/Library/LaunchAgents/com.example.plist
segue. (Note que para depuração, eu estou simplesmente tentando iniciar o Terminal.app usando / usr / bin / open. Eu vou trocar no meu programa real uma vez que eu comecei a trabalhar muito.)
<?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>