0

ハードドライブのイメージングに使用するapplescriptスタジオアプリケーションがあります。現在、シェル スクリプト (diskutil list -plist) を実行して、コンピューターに接続されているドライブに関する情報を取得し、この情報をユーザーに提示して、イメージする適切なドライブを選択します。

理想的には、アプリケーションが新しいデバイスが接続されたことを検出し、ユーザーにそのドライブのイメージを作成するように促すことができるようにしたいと考えています。

シェル スクリプトをループで実行し、結果を比較して新しいデバイスが利用可能かどうかを検出することを考えていましたが、それでは多くの CPU が浪費されるようです。AppleScript がある種のイベントをリッスンして、新しいデバイスが利用可能であることを検出する方法はありますか?

4

1 に答える 1

0

AppleScript (Studio) はどのシステム通知にも登録できません。通知は Objective-C でのみ実行できます。ちなみに、DiskArbitration.framework は diskutil よりもはるかに高速です。

代替手段は、フォルダー アクションまたは /Volumes を監視する launchd エージェントです。しかし、情報をメイン アプリケーションに渡すのは非常に遠回りです。

お役に立てれば

于 2009-07-23T03:14:49.587 に答える