LaunchEvents键无法识别在的launchd plist中(检测USB设备)(LaunchE

2019-08-17 13:59发布

我要启动时,USB设备插在一个Mac OS X系统中的特定应用程序。 我已经按照给出的配方此SO职位 。 但它出现在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如下。 (请注意,对于调试,我只是尝试启动使用的/ usr / bin中/打开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>

Answer 1:

要重新加载卸载第一,然后加载:

launchctl unload ~/Library/LaunchAgents/com.example.plist
launchctl load ~/Library/LaunchAgents/com.example.plist


文章来源: LaunchEvents key unrecognized in launchd plist (detecting USB device)