web-dev-qa-db-ja.com

Mac OS XのUSB接続またはCD挿入でアプリケーションを自動的に実行するにはどうすればよいですか?

Mac OS XのUSBアタッチまたはCDインサートでアプリケーションを自動的に起動する方法はありますか? Windowsでは簡単ですが、AutoRun.InfはMacではまったく機能しません。

24
Yigang Wu

できません。 Mac OS Xでは、アプリケーションの自動起動はできません。

次善の策は、CDフォルダーを開いてインストーラーアイコンを表示することです。これは、( AutoOpenバージョン1. )を使用して.dmgを作成し、それをCDに書き込むことで実行できます。

27
Sophie Alpert

なぜあなたが投票されたのかわからない-これはMacを見ているWindowsプログラマーにとってよくある質問です。

基本的に、自動実行はセキュリティの問題と見なされるため、OSXではサポートされていません。ソフィー(旧称ベン)アルパートの答えも少しやり過ぎです。 OSXのほとんどのインストーラーは、フォルダーを開いてアプリケーションと、場合によってはreadmeを表示するだけです。インストールは、アプリをアプリケーションフォルダーにドラッグすることで実行されます。

CD上の他の種類のアプリ(スライドショーなど)の場合、開発者は通常、非表示のフォルダーを使用してサポートデータを非表示にし、ユーザーがCDを開いたときに表示されるのは単一のアイコンだけであることを確認します。アプリを起動するためにダブルクリックすることになっています。

10
Mike Heinz

USBデバイスが接続されてからアプリを起動するたびに監視するバックグラウンドサービスをインストールすることができます。 Googleの「Androidファイル転送エージェント」は、バックグラウンドで実行され、Androidデバイスを接続するたびに「Androidファイル転送」を起動するサービスです。

3
Eduard Feicho

自分だけの何かを探している場合は、バックグラウンドで実行され、接続される特定のUSBデバイス(ID)を監視する小さなMacアプリを作成して、プログラムを実行できます。理想的には、小さなXML plistを使用して、デバイスIDを実行する正しいプログラムにマップできます。 XCode SDKには、開始するためにデバイスの追加と削除を監視するサンプルコードがあります。

2
JavaCoderEx

JavaCoderExに同意します。 /Volumes/*/autorun.shを検索するタスクをcronタブして、それを1回実行します。/tmp /内のファイルをタッチして、そのファイルがすでに実行されていることを確認し、ボリュームが消えた場合はそのファイルを削除します。

0
tc0nn