AppleScript检测新驱动器

问题描述:

我有一个用于映像硬盘驱动器的applescript studio应用程序。现在它运行一个shell脚本(diskutil list -plist)来获取有关连接到计算机的驱动器的信息,然后将该信息呈现给用户,并选择适当的映像驱动器。AppleScript检测新驱动器

理想情况下,我希望我的应用程序能够检测新设备插入的时间,并提示用户对该驱动器进行映像。

我正在考虑在循环中运行shell脚本,并比较结果以检测新设备是否可用,但似乎这样会浪费很多CPU。有没有办法让applescript听某种事件并检测到新设备可用?

AppleScript(Studio)无法注册到任何系统通知,只能在Objective-C中完成通知。 顺便说一句DiskArbitration.framework比diskutil快得多。

替代方案可以是观察/卷的文件夹操作或launchd代理。 但它是相当迂回的信息传递到主应用程序

希望这可以帮助