MacOS Launchd WatchPaths для уведомлений БД не работает скрипт - PullRequest
0 голосов
/ 06 октября 2018

Я хочу запускать скрипт каждый раз, когда на MacOS появляется уведомление.Я установил launchd, чтобы посмотреть расположение БД:

<?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>WatchNotifications</string>
     <key>ProgramArguments</key>
     <array>
          <string>/Users/***/Documents/***/myScript.sh</string>
     </array>
     <key>WatchPaths</key>
     <array>
           <string>/private/var/folders/***secret***/com.apple.notificationcenter/db2/</string>
     </array>
</dict>
</plist>

Хотя скрипт не запускается.Идеи?

1 Ответ

0 голосов
/ 20 декабря 2018

Во-первых:
Была ли у вас команда терминала chmod +x ~/Documents/***/myScript.sh?

Во-вторых:
Знаете ли вы, что, очевидно, db-wal (в котором хранится информация уведомлений) равно НЕ перезаписано при изменении?
Поэтому WatchPaths не замечает никаких изменений, в отличие, например, от файлов TextEdit, которые ARE перезаписываются при сохранении изменений;к сожалению, WatchPaths сообщает только об удаленных или «добавленных» файлах, совсем как в скриптах действий с папками…

...