Domanda

Ho un'applicazione studio di AppleScript che uso per i dischi rigidi di imaging. In questo momento viene eseguito uno script di shell (lista diskutil -plist) per ottenere informazioni circa le unità collegate al computer, si presenta quindi queste informazioni per l'utente, e viene selezionato l'unità corretta per l'immagine.

Idealmente Vorrei che la mia applicazione per essere in grado di rilevare quando nuovi dispositivi sono collegati, e richiede all'utente di immagine che guidano.

Stavo pensando di eseguire lo script di shell in un ciclo e confrontando i risultati di rilevare se un nuovo dispositivo è disponibile, ma che sembra che sarebbe sprecare un sacco di CPU. C'è qualche modo per AppleScript per ascoltare una sorta di evento e rilevare che un nuovo dispositivo è disponibile?

È stato utile?

Soluzione

AppleScript (Studio) non è in grado di registrare ad ogni notifica di sistema, le notifiche possono essere realizzate esclusivamente in Objective-C. Tra l'altro DiskArbitration.framework è molto più veloce di diskutil.

Un'alternativa potrebbe essere un'azione cartella o un agente di launchd che osserva / Volumes. Ma è abbastanza tortuoso per passare le informazioni per l'applicazione principale

Spero che questo aiuti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top