3

launchctl load/unloadサンドボックス化された OSX アプリからコマンドを実行する必要があります。アプリにはread-write、起動エージェントのplistファイルが存在するフォルダーへのアクセス許可があります (アプリのユーザーが以前に許可したセキュリティ スコープのブックマークを使用)。

ただし、アプリで次のエラーが発生します。

-
5/22/13 9:15:56.420 AM sandboxd[28463]: ([28473]) launchctl(28473) deny file-read-data /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist
-

明確にするために、自動起動の起動項目に独自のアプリを追加したくありません。また、これを見つけましたhttp://www.mail-archive.com/cocoa-dev@lists.apple.com/msg80413.htmlまだ結果のない同様のトピックに関する会話。

4

2 に答える 2

1

アプリケーションが特権操作を必要とする何かを行うために、Apple はヘルパー アプリを作成することを提案しています。ヘルパー アプリは、署名されているため、親アプリケーションによって実行するためにのみ呼び出すことができます。ヘルパー アプリは昇格されたアクセス許可で起動され、最低限必要なアクションを実行します。ここで SMJobBless を見てみましょう: -

http://developer.apple.com/library/mac/#samplecode/SMJobBless/Introduction/Intro.html

それが述べているように: -

SMJobBless は、特権操作を実行するヘルパー ツールを安全にインストールする方法と、ツールを呼び出すアプリケーションにツールを関連付ける方法を示します。

于 2013-05-22T09:12:15.847 に答える