Ich bin auf XCode 9, OSX nicht iOS, Objective-C.NSXPCConnection Debugging-Unterbrechung/Invalidierung
Ich habe einen XPC-Dienst, um mit anderen Anwendungen zu sprechen. XPC Services sind für mich völlig neu. Ich habe die Dokumentation und Artikel gelesen, die ich gefunden habe - ich brauche immer noch Hilfe.
// NSXPC Connection stored as ivar
self.bridgeagent = [[NSXPCConnection alloc] initWithServiceName:@"com.myid.myapp.bridgeagent"];
self.bridgeagent.remoteObjectInterface = [NSXPCInterface interfaceWithProtocol:@protocol(bridgeagentProtocol)];
self.bridgeagent.exportedInterface = [NSXPCInterface interfaceWithProtocol:@protocol(bridgeagentProxyProtocol)];
self.bridgeagent.exportedObject = self;
[self.bridgeagent setInvalidationHandler:^{
NSLog(@"Bridgeagent invalidation handler!");
}];
[self.bridgeagent setInterruptionHandler:^{
NSLog(@"Bridgeagent interruption handler!");
}];
[self.bridgeagent resume];
Der Service wird wie folgt aufgerufen:
// openFile method is listed in corresponding protocol
[[self.bridgeagent remoteObjectProxyWithErrorHandler:^(NSError * _Nonnull error) {
NSLog(@"bridgeagent.openFile errorHandler: %@",error);
}] openFile:parameters withReply:^(NSDictionary *returnParameters) { // do something with result }];
Der Aufruf funktioniert und der Service macht seinen Job. Wie dem auch sei - jetzt, wo der Service funktioniert, möchte ich daran arbeiten, ihn stabiler zu machen (auch wenn ich momentan keine Probleme habe).
Kann mir jemand
- die Differenz zwischen Unterbrechung und Ungültigkeits erklären (verstehe es nicht, wenn der eine oder andere geschieht)
- wenn es eine bewährte Methode ist, beide Fälle zu behandeln
- wie beide Fälle zu erzwingen (zum Debuggen)
Hilfe Vielen Dank für