Comment exécuter automatiquement une application sur une connexion USB ou une insertion de CD sous Mac OS X?

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

  •  03-07-2019
  •  | 
  •  

Question

Existe-t-il un moyen de lancer automatiquement une application sur une connexion USB ou une insertion de CD sous Mac OS X? C'est facile sous Windows, mais j'ai trouvé que AutoRun.Inf ne fonctionnait pas du tout sur le Mac.

Était-ce utile?

La solution

Vous ne pouvez pas. Le démarrage automatique des applications est impossible sous Mac OS X.

La prochaine chose à faire, ouvrir le dossier du CD et afficher l’icône du programme d’installation, peut être effectuée à l’aide de http: //. autoopen.nibfile.com/ pour créer un .dmg qui peut ensuite être gravé sur un CD.

Autres conseils

Je ne sais pas pourquoi votre candidature a été rejetée. C’est une question courante pour les programmeurs Windows qui s'intéressent aux Mac.

Fondamentalement, l’exécution automatique est considérée comme un problème de sécurité et n’est donc pas prise en charge sous OSX. La réponse de Sophie (anciennement connue sous le nom de Ben) Alpert est également un peu exagérée. La plupart des installateurs pour OSX ouvrent simplement un dossier pour montrer l'application et éventuellement un fichier Lisez-moi. L’installation s’effectue en faisant glisser l’application dans votre dossier Applications.

Pour les autres types d'applications sur CD (disons, un diaporama ou quelque chose du genre), le développeur utilise généralement des dossiers cachés pour masquer les données de support afin de s'assurer que le seul élément visible par l'utilisateur à l'ouverture du CD est le fichier unique. icône, ils sont censés double-cliquer pour démarrer l'application.

Si vous cherchez quelque chose pour vous-même, vous pouvez écrire une petite application Mac qui s'exécute en arrière-plan et surveille la connexion d'un périphérique USB particulier (par identifiant), puis exécuter le programme. Dans l'idéal, un petit plist XML pourrait être utilisé pour mapper les ID de périphérique sur le programme à exécuter. Le Kit de développement XCode SDK contient un exemple de code qui surveille la prise en compte de périphériques supplémentaires et leur suppression.

Il est possible d'installer un service en arrière-plan qui surveille chaque fois qu'un périphérique USB est branché, puis lance une application. "Google Agent de transfert de fichiers Android" de Google est un tel service qui s'exécute en arrière-plan et lance "Android File Transfer". chaque fois que vous branchez un appareil Android.

Je suis d'accord avec JavaCoderEx. Je crontab une tâche qui cherche /Volumes/*/autorun.sh, puis l'exécute une fois. Vous pouvez peut-être toucher un fichier dans / tmp / pour savoir s'il a déjà été exécuté, puis supprimez-le si le volume disparaît.

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