Objective C で作成した Mac OSX 上のカスタム Cocoa ベースの setup.app は、ハード ドライブ全体をスキャンする必要があるためルート権限が必要なウイルス対策プログラムなどの昇格された権限タスクを実行するために、LaunchDaemon をインストールする必要があります。セットアップ アプリケーションで顧客に管理者ログインを要求し、その LaunchDaemon を /Library/LaunchDaemons にインストールするにはどうすればよいですか (~/Library/LaunchDaemons という意味ではないことに注意してください)。
私が現在それを処理している方法は、管理者権限で AppleScript を使用することです。このログインを求めるプロンプトが表示され、AppleScript は OS から文句を言われることなく、このフォルダへのコピーを実行します。しかし、それは適切な手法ではないと思います - どうにかしてこれを完全にObjective Cで行うべきでしょうか?
この場合、SMBlessJob を使用できないことに注意してください。なぜなら、最初に Launch Daemon を作成するのはこのためです。
背景情報
ノートンの AV アプリケーションがカスタム setup.app を使用するのと同じように、カスタム setup.app を作成する特別な必要があります。これは、Apple PKG および DMG インストーラーが、インストール中にサーバーから非常に大きなファイル (ウイルス定義など) をダウンロードすることを許可していないためです。つまり、Perl スクリプトまたは Bash スクリプトを実行しているときに、PKG ファイルにサーバーからファイルをダウンロードさせることができますが、インストーラーは、ダウンロードにかかる時間の間、進行状況バーをハングアップさせるだけで、他のフィードバックは何も提供しません。プログレスバーがハングしたことを除いて、ユーザーはインストーラーが壊れていると思っていますが、そうではありません。そのため、Norton が AV アプリケーションで行ったように、独自のカスタム setup.app を作成する必要がありました。