Come posso eseguire automaticamente un'applicazione su USB attach o CD insert su Mac OS X?

StackOverflow https://stackoverflow.com/questions/410583

  •  03-07-2019
  •  | 
  •  

Domanda

Esiste un modo per avviare automaticamente un'applicazione su collegamento USB o inserimento CD su Mac OS X? è facile su Windows, ma ho scoperto che AutoRun.Inf non funziona affatto sul Mac.

È stato utile?

Soluzione

Non puoi. L'avvio automatico delle applicazioni è impossibile in Mac OS X.

La cosa migliore, aprendo la cartella del CD e mostrando l'icona del programma di installazione, può essere eseguita utilizzando http: // autoopen.nibfile.com/ per creare un .dmg che può quindi essere masterizzato su un CD.

Altri suggerimenti

Non so perché sei stato votato verso il basso - questa è una domanda comune per i programmatori di Windows che guardano i Mac.

Fondamentalmente, l'esecuzione automatica è considerata un problema di sicurezza e quindi non è supportata in OSX. Anche la risposta di Sophie (precedentemente nota come Ben) Alpert è un po 'eccessiva. La maggior parte dei programmi di installazione per OSX apre semplicemente una cartella per mostrare l'applicazione e, possibilmente, un file Leggimi. L'installazione viene eseguita trascinando l'app nella cartella Applicazioni.

Per altri tipi di app su CD (ad esempio una presentazione o qualcosa del genere), lo sviluppatore utilizza generalmente cartelle nascoste per nascondere i dati di supporto per garantire che l'unica cosa che l'utente vedrà quando aprirà il CD è la singola icona devono fare doppio clic per avviare l'app.

Se stai cercando qualcosa per te stesso, potresti scrivere una piccola app per Mac che gira in background e guarda un determinato dispositivo USB (per ID) da collegare e quindi eseguire il programma. Idealmente, un piccolo plist XML potrebbe essere utilizzato per mappare gli ID dispositivo al programma corretto da eseguire. XCode SDK ha un codice di esempio che monitora il dispositivo aggiuntivo e la rimozione per iniziare.

È possibile installare un servizio in background che monitora ogni volta che un dispositivo USB è collegato e quindi avvia un'app. Google " Android File Transfer Agent " è un servizio in esecuzione in background e avvia "Trasferimento file Android" ogni volta che si collega un dispositivo Android.

Sono d'accordo con JavaCoderEx. Vorrei crontab un task che cerca /Volumes/*/autorun.sh, quindi lo esegue una volta. Forse tocca un file in / tmp / così sai che è già stato eseguito, quindi rimuovilo se il volume scompare.

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