Applescript обнаруживает новые диски

У меня есть приложение appleScript, которое я использую для создания образа жестких дисков. Прямо сейчас он запускает сценарий оболочки (diskutil list -plist) для получения информации о дисках, подключенных к компьютеру, затем представляет эту информацию пользователю, и выбирается соответствующий диск для образа.

В идеале я хотел бы, чтобы мое приложение могло определять, когда подключены новые устройства, и предлагать пользователю создать образ этого диска.

Я думал о том, чтобы запустить скрипт оболочки в цикле и сравнить результаты, чтобы определить, доступно ли новое устройство, но похоже, что это потратило бы много ресурсов процессора. Есть ли какой-то способ для appleScript, чтобы прослушать какое-то событие и обнаружить, что новое устройство доступно?

1 ответ

Решение

AppleScript (Studio) не может зарегистрироваться ни на одно системное уведомление, уведомления могут быть выполнены только в Objective-C. Кстати, DiskArbitration.framework намного быстрее, чем diskutil.

Альтернативой может быть действие с папкой или запускающий агент, который наблюдает /Volume. Но довольно сложно передать информацию в основное приложение

Надеюсь это поможет

Другие вопросы по тегам