2009-07-18 82 views
0

我有一個用於映像硬盤驅動器的applescript studio應用程序。現在它運行一個shell腳本(diskutil list -plist)來獲取有關連接到計算機的驅動器的信息,然後將該信息呈現給用戶,並選擇適當的映像驅動器。AppleScript檢測新驅動器

理想情況下,我希望我的應用程序能夠檢測新設備插入的時間,並提示用戶對該驅動器進行映像。

我正在考慮在循環中運行shell腳本,並比較結果以檢測新設備是否可用,但似乎這樣會浪費很多CPU。有沒有辦法讓applescript聽某種事件並檢測到新設備可用?

回答

0

AppleScript(Studio)無法註冊到任何系統通知,只能在Objective-C中完成通知。 順便說一句DiskArbitration.framework比diskutil快得多。

替代方案可以是觀察/卷的文件夾操作或launchd代理。 但它是相當迂迴的信息傳遞到主應用程序

希望這可以幫助