Ho fatto esattamente come l'esempio di Sandboxed Helper App fornito da Apple e tutto sembra funzionare correttamente. Sono in grado di creare correttamente un oggetto NSXPCConnection
e anche di recuperare il mio oggetto remoto (tramite remoteObjectProxyWithErrorHandler
).Helper mac app (Login Item), impossibile comunicare con
Tuttavia quando chiamo un metodo sull'oggetto proxy (definito nella definizione Protocol), torno questo errore:
Failed to connect to launch agent: Error Domain=NSCocoaErrorDomain Code=4099 "Couldn’t communicate with a helper application.
In sostanza, non importa quello che faccio io non sono in grado di comunicare con la mia app di supporto Non sto facendo niente di speciale, sto solo cercando di fare una semplice chiamata all'app helper su NSLog() qualcosa. Ma non funziona. Stranamente anche io non vedo alcuna uscita da dentro:
- (BOOL)listener:(NSXPCListener *)listener shouldAcceptNewConnection:(NSXPCConnection *)newConnection
Cosa potrei fare male?
AGGIORNAMENTO: Apparentemente se deseleziono 'Abilita applicazione sandboxing' sulla mia app principale, funziona! Quindi c'è qualcosa di sbagliato nell'abilitare il sandboxing dopo il quale non vuole comunicare con la mia app helper. Ho bisogno di più diritti? Li ho provati tutti con xcode!
Se si apre la console, si ottiene una violazione della ricerca della sandbox mach? – Samir
No, ma ho trovato una soluzione, spiegata sotto – strange