Как мне автоматически запустить приложение с помощью USB attach или CD insert в Mac OS X?

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

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top