USB デバイスが Mac OS X システムに接続されているときに、特定のアプリを起動したいと考えています。この SO postに記載されているレシピに従いました。しかし、LaunchEvents
キーが認識されていないようです: システムを再起動すると、コンソールに次のメッセージが表示されます:
com.apple.launchd.peruser.501[173] (com.example.program) Unknown key for dictionary: LaunchEvents
OS X 10.6.8 を実行していますが、このバージョンの OS X で xpc_events がサポートされていない可能性は十分にあります。
(2 つ目の、あまり重要ではない質問: システムを再起動せずに .plist ファイルを強制的に再読み込みする方法はありますか? デバッグ時間が短縮されます!)
の全内容は~/Library/LaunchAgents/com.example.plist
以下。(デバッグのために、/usr/bin/open を使用して Terminal.app を起動しようとしていることに注意してください。これだけの作業ができたら、実際のプログラムに切り替えます。)
<?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>