Как автоматически запустить приложение на USB-накопителе или компакт-диске на Mac OS X? - PullRequest
23 голосов
/ 04 января 2009

Есть ли способ автоматически запустить приложение на USB-накопителе или компакт-диске на Mac OS X? это легко в Windows, но я обнаружил, что AutoRun.Inf не работает на Mac вообще.

Ответы [ 5 ]

27 голосов
/ 04 января 2009

Вы не можете. Автозапуск приложений невозможен в Mac OS X.

Следующая лучшая вещь: открыть папку CD и показать значок установщика, можно сделать с помощью http://autoopen.nibfile.com/, чтобы создать .dmg, который затем можно записать на CD.

10 голосов
/ 05 января 2009

Не знаю, почему за вас проголосовали - это распространенный вопрос для программистов Windows, которые смотрят на Mac.

По сути, автоматический запуск считается проблемой безопасности и поэтому не поддерживается в OSX. Софи (ранее известная как Бен) ответ Альперта также немного излишним. Большинство инсталляторов для OSX просто открывают папку, чтобы показать приложение и, возможно, readme. Установка выполняется путем перетаскивания приложения в папку «Приложения».

Для других видов приложений на компакт-дисках (например, слайд-шоу или чего-то в этом роде) разработчик обычно использует скрытые папки, чтобы скрыть данные поддержки, чтобы гарантировать, что единственное, что пользователь увидит при открытии компакт-диска, это единственный значок, который они должны дважды щелкнуть, чтобы запустить приложение.

2 голосов
/ 16 июля 2014

Можно установить фоновую службу, которая отслеживает каждый раз, когда USB-устройство подключено, а затем запускает приложение. «Агент передачи файлов Android» от Google - это такая служба, которая работает в фоновом режиме и запускает «Передачу файлов Android» при каждом подключении устройства Android.

2 голосов
/ 27 марта 2011

Если вы ищете что-то для себя, вы можете написать небольшое приложение для Mac, которое работает в фоновом режиме и отслеживает подключение определенного USB-устройства (по идентификатору), а затем запустить программу. В идеале можно использовать небольшой список XML для сопоставления идентификаторов устройств с правильной программой для запуска. XCode SDK содержит пример кода, который отслеживает дополнительные устройства и их удаление для начала работы.

0 голосов
/ 06 сентября 2018

Я согласен с JavaCoderEx. Я бы поставил задачу, которая ищет /Volumes/*/autorun.sh, а затем запускает ее один раз. Возможно, коснитесь файла в / tmp /, чтобы вы знали, что он уже был запущен, а затем удалите его, если том исчезнет.

...