インストーラーの一部として実行される postflight スクリプトからログイン項目にアプリケーションを追加する方法が必要です。10.5 以降で動作する必要があります。できれば、bash スクリプトで動作します。私のアプリケーションにはすでに管理者権限が必要です。
ここで見つけたアプローチ: Mac OS Login Items with Arguments? 正しい軌道に乗っているように見えました(以下に含まれています)...しかし、コマンドラインで試したときに機能しませんでした。すべてのユーザーにインストールする方法がわかりません。このコードを呼び出す前に、スタートアップ項目に既に追加されています。
#!/bin/bash
/usr/bin/osascript -e "tell application \"System Events\" to make new login item with properties { path: \"$1\", hidden:false } at end"
私はlaunchdでも何かできると思います。しかし、どのアプローチがバージョン間の互換性のためのベスト プラクティスであるかはわかりません。
注: アプリ内で目的の c コードを使用して追加したくありません。インストーラーを追加する必要があります。 現在、私はインストール後にアプリケーションを起動し、LSSharedFileListRef を使用してコードでログイン項目に追加しています...そのアプローチの例は次のとおりです。. これがうまくいかない理由は、ログイン画面で、コマンド ライン経由で Apple Remote Desktop を使用してアプリケーションをインストールする必要があるためです。そのため、インストール後にアプリケーションが自動的に起動しないようにする必要があります。