Como faço para executar automaticamente um aplicativo na conexão USB ou CD inserção no Mac OS X?
Pergunta
Existe alguma maneira para iniciar automaticamente um aplicativo em USB anexar ou inserir CD no Mac OS X? é fácil no Windows, mas eu achei que AutoRun.Inf
não funciona no Mac em tudo.
Solução
Você não pode. Autostarting aplicações é impossível sob Mac OS X.
A próxima melhor coisa, abrindo a pasta CD e mostrando o ícone do instalador, pode ser feito usando http: // autoopen.nibfile.com/ para fazer um .dmg
que pode então ser queimado em um CD.
Outras dicas
Não sei por que você foi rejeitada -. Esta é uma pergunta comum para programadores do Windows olhando para Macs
Basicamente, auto-run é considerado um problema de segurança e por isso não é suportado no OSX. Sophie (anteriormente conhecido como Ben) a resposta de Alpert é também um pouco exagero. A maioria dos instaladores para OSX basta abrir uma pasta para mostrar a aplicação e, possivelmente, um readme. A instalação é feito arrastando o aplicativo para a pasta Aplicativos.
Para outros tipos de aplicativos em CDs (digamos, uma apresentação de slides ou algo parecido), o desenvolvedor geralmente usa pastas ocultas aos dados hide apoio para assegurar que a única coisa que o usuário verá quando abrir o CD é o único ícone que é suposto duplo clique para iniciar o aplicativo.
Se você está procurando algo apenas para si mesmo, você poderia escrever um aplicativo mac pequeno que é executado em segundo plano e relógios para um dispositivo USB particular (por id) para ser anexado e, em seguida, executar o programa. Idealmente um pequeno plist XML poderia ser usado para mapear IDs de dispositivos para o programa correto para executar. O XCode SDK tem código de exemplo que monitores para dispositivo adicional e remoção para você começar.
É possível instalar um serviço de fundo que os monitores sempre que um dispositivo USB está conectado e, em seguida, lança um aplicativo. do Google "Android File Transfer Agent" é o serviço de uma forma que está sendo executado em segundo plano e lançamentos "Android File Transfer" sempre que você conecte um dispositivo Android.
Eu concordo com JavaCoderEx. Eu crontab uma tarefa que procura /Volumes/*/autorun.sh, em seguida, executa uma vez. Talvez tocar um arquivo em / tmp / para que você saiba o seu já foi executado, em seguida, removê-lo se o volume desaparece.