Applescript обнаруживает новые диски
У меня есть приложение appleScript, которое я использую для создания образа жестких дисков. Прямо сейчас он запускает сценарий оболочки (diskutil list -plist) для получения информации о дисках, подключенных к компьютеру, затем представляет эту информацию пользователю, и выбирается соответствующий диск для образа.
В идеале я хотел бы, чтобы мое приложение могло определять, когда подключены новые устройства, и предлагать пользователю создать образ этого диска.
Я думал о том, чтобы запустить скрипт оболочки в цикле и сравнить результаты, чтобы определить, доступно ли новое устройство, но похоже, что это потратило бы много ресурсов процессора. Есть ли какой-то способ для appleScript, чтобы прослушать какое-то событие и обнаружить, что новое устройство доступно?
1 ответ
AppleScript (Studio) не может зарегистрироваться ни на одно системное уведомление, уведомления могут быть выполнены только в Objective-C. Кстати, DiskArbitration.framework намного быстрее, чем diskutil.
Альтернативой может быть действие с папкой или запускающий агент, который наблюдает /Volume. Но довольно сложно передать информацию в основное приложение
Надеюсь это поможет