Ho letto la documentazione e l'esempio SMJobBless e varie discussioni su Internet. La mia app ora installa un helper con privilegi usando SMJobBless()
, ma l'helper non viene eseguito affatto.È possibile utilizzare SMJobSubmit() per eseguire un helper privilegiato installato da SMJobBless?
L'intero scopo dell'helper è caricare un kext, un componente importante della mia app, ogni volta che si avvia l'applicazione. Ho visto esempi che dimostrano che il tentativo di connettersi con l'helper attraverso XPC lancerà l'aiutante, ma vorrei mantenere il mio aiutante semplice e stupido.
Il documento API mostra che esiste una funzione SMJobSubmit()
. Cosa fa esattamente? Posso usarlo per avviare l'helper privilegiato installato in precedenza da SMJobBless()
?
Sono confuso da tutti i termini intorno a launchd
e allo Service Management Framework
- ad esempio, l'opzione plist "RunAtLoad" controlla "se il lavoro viene avviato una volta al momento del caricamento del lavoro". Che cosa sono esattamente "caricare" e "lanciare" e in che modo sono correlati a "benedica/installa" e "invia"?
Il post di questo post su questo argomento include codice di esempio e ulteriori informazioni su SMJobSubmit: http://www.stairways.com/blog/2012-08-06-smjobsubmit –
Come sembra sapere qualcosa, potrebbe date un'occhiata a http://stackoverflow.com/questions/11557026/smjobremove-sotteeds-but-plist-and-helper-tool-not-deleted? – Joe