1
我需要在我的應用程序中的某個時候提升操作。爲此我找到了蘋果SMJobBless機制。我寫了一個簡單的幫助工具,並通過SMJobBless
進行安裝。這到目前爲止有效。但是現在我不明白:安裝後如何啓動該輔助工具?瞭解OSX中的特權幫助程序工具
我需要在我的應用程序中的某個時候提升操作。爲此我找到了蘋果SMJobBless機制。我寫了一個簡單的幫助工具,並通過SMJobBless
進行安裝。這到目前爲止有效。但是現在我不明白:安裝後如何啓動該輔助工具?瞭解OSX中的特權幫助程序工具
通過閱讀幾乎所有我發現的文檔記錄,我現在使用XPC Conenction激活幫助工具,然後在使用SMBlessJob
安裝後,通過launchd按需啓動。要做到這一點,你需要通過你的助手工具的plist
創建MachService:
<key>MachServices</key>
<dict>
<key>com.my.program.Helper</key>
<true/>
</dict>
(這需要在你的助手,而不是的info.plist的launchd.plist做)。
在您的幫助工具,你就必須創建馬赫服務:
@property (atomic, strong, readwrite) NSXPCListener *listener;
self->_listener = [[NSXPCListener alloc] initWithMachServiceName:@"com.my.program.Helper"];
self->_listener.delegate = self;
之後,您可以連接使用XPC。如果你需要更多的信息,請參閱Apple的這個例子:https://developer.apple.com/library/content/samplecode/EvenBetterAuthorizationSample/Listings/Read_Me_About_EvenBetterAuthorizationSample_txt.html
我到目前爲止發現的是這樣的:https://stackoverflow.com/questions/34939243/gain-administration-privileges-with-swift-for-一個mac應用程序它聲明你shuild請求launchd啓動助手工具,但不是如何... – Nidhoegger