2017-08-09 6 views
1

私のアプリケーションのある時点では、高い動作が必要です。このため私はリンゴSMJobBlessメカニズムを発見しました。私は簡単なヘルパーツールを書いてSMJobBlessでインストールしています。これまでのところ、これは動作します。しかし、今私が理解していないこと:ヘルパツールをインストールした後にヘルパーツールを起動するにはどうすればいいですか?OSXの特権付きヘルパーツールについて

+0

これまでに見つかったことは次のとおりです。https://stackoverflow.com/questions/34939243/gain-administration-privileges-with-swift-for- a-mac-applicationには、ヘルパーツールを起動するためのリクエストが表示されていますが、方法はわかりません。 – Nidhoegger

答えて

0

私はこれについて文書化したすべてのものを読んで、今はXPC Conenctionを使用してヘルパーツールをアクティブにします。SMBlessJobを使用してインストールした後、launchdによってオンデマンドで開始されます。 (これはあなたのヘルパーのlaunchd.plistに行われる必要がある、ないのInfo.plist)

<key>MachServices</key> 
<dict> 
    <key>com.my.program.Helper</key> 
    <true/> 
</dict> 

:これを行うには、あなたのヘルパーツールのplist経由MachServiceを作成する必要があります。あなたのヘルパーツールで

、あなたはその後、マッハサービスを作成する必要があります。その後

@property (atomic, strong, readwrite) NSXPCListener *listener; 

     self->_listener = [[NSXPCListener alloc] initWithMachServiceName:@"com.my.program.Helper"]; 
     self->_listener.delegate = self; 

を、あなたはXPCを使用して接続することができます。これに関する詳細が必要な場合は、アップルの次の例を参照してください。https://developer.apple.com/library/content/samplecode/EvenBetterAuthorizationSample/Listings/Read_Me_About_EvenBetterAuthorizationSample_txt.html

関連する問題