6

Mountain Lion(10.8)にプログラムでログイン項目を追加したい。

これまで、このplistを編集することで、ログイン項目を追加することができました。

/Users/test/Library/Preferences/loginwindow.plist

OSの辞書への項目(パス、名前、非表示)の追加AutoLaunchedApplicationDictionaryは機能しなくなりました。この辞書に追加されたアイテムは、ログイン時に起動されません。ログイン項目が次のファイルに保存されていることがわかります。com.apple.loginitems.plist

しかし、このファイルにアイテムを追加する方法がわかりません。name、path、hideなどのパラメーターを使用してアイテムを辞書に追加しようとしましたCustomListItemsが、ログイン時に起動されませんでした。

コードログインアイテムから追加する方法を知っている人はいますか?

4

2 に答える 2

1

ユーザーがログインしたときにプログラムを自動的に開始したいことを理解しています。

OS Xの古いバージョンでは、loginwindow.plistを編集して手動でログイン項目を追加することができました。Apple は、 LaunchAgentおよびLaunchDaemon機能を OS に追加したときに、このアプローチを非推奨にしました。

Mountain Lionを使用しているため、プログラムを起動する正しい方法は、起動エージェントを作成することです。これは、 OS X に、 a)特定のイベント (例: ログイン、ログアウトなど) が発生したときに何らかのアクション (例: /some/program.appを起動)を実行するように指示するために使用できる.plistファイルです。

LaunchAgents の作成に関する Apple の公式ドキュメントは、こちら にあります

于 2013-10-03T02:05:23.403 に答える
0

これは、最新のやり方に関する優れたチュートリアルのように見えます:ログイン サンドボックス プロジェクトの起動

それは、 App Sandbox 設計ガイドに埋もれている次の段落から始まります。

アプリのログイン項目を作成する

サンドボックス アプリのログイン項目を作成するには、SMLoginItemSetEnabled 関数 (ServiceManagement/SMLoginItem.h で宣言) を使用します (『デーモンおよびサービス プログラミング ガイド』の「サービス管理フレームワークを使用したログイン項目の追加」で説明されています)。

(App Sandbox では、LSSharedFileList.h ヘッダー ファイル内の関数を使用してログイン項目を作成することはできません。たとえば、関数 LSSharedFileListInsertItemURL を使用することはできません。関数 LSRegisterURL を使用するなどして、起動サービスの状態を操作することもできません。)

そしてそこから転がって・・・

于 2014-03-28T18:45:25.653 に答える