Question

J'ai une application studio AppleScript que j'utilise pour les disques durs d'imagerie. À l'heure actuelle, il exécute un script shell (liste diskutil de -plist) pour obtenir des informations sur les lecteurs connectés à l'ordinateur, il présente ensuite ces informations à l'utilisateur, et le lecteur approprié à l'image est sélectionnée.

Idéalement, je voudrais que ma demande de pouvoir détecter de nouveaux périphériques sont branchés, et invite l'utilisateur à l'image ce lecteur.

Je pensais à l'exécution du script shell dans une boucle et en comparant les résultats pour détecter si un nouveau périphérique est disponible, mais cela semble comme cela perdre beaucoup de CPU. Y at-il someway pour AppleScript pour écouter une sorte d'événement et de détecter qu'un nouveau périphérique est disponible?

Était-ce utile?

La solution

AppleScript (Studio) n'est pas en mesure d'enregistrer toute notification du système, les notifications ne peuvent être accomplies en Objective-C. Soit dit en passant DiskArbitration.framework est beaucoup plus rapide que diskutil.

Une alternative pourrait être une action de dossier ou d'un agent qui observe launchd / Volumes. Mais il est tout à fait tortueuse de transmettre les informations à l'application principale

Hope this helps

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top