В моем проекте XCode есть цель, которая генерирует XPCService. Теперь я буду sh для реализации большего количества функций в другом контексте, поэтому я хотел бы добавить их в другой протокол.
Я sh, что текущая служба поддержки xp c поддерживает оба протокола.
код по умолчанию для поддержки одного протокола выглядит следующим образом:
// Create the delegate for the service.
ServiceDelegate *delegate = [ServiceDelegate new];
// Set up the one NSXPCListener for this service. It will handle all incoming connections.
NSXPCListener *listener = [NSXPCListener serviceListener];
listener.delegate = delegate;
// Resuming the serviceListener starts this service. This method does not return.
[listener resume];
, тогда как ServiceDelegate
имеет следующий метод:
- (BOOL)listener:(NSXPCListener *)listener shouldAcceptNewConnection:(NSXPCConnection *)newConnection {
и я установил протокол для этого соединения решительно без возможности выбора myFirstProtocol
newConnection.exportedInterface = [NSXPCInterface interfaceWithProtocol:@protocol(myFirstProtocol)];
теперь у меня есть mySecondProtocol
, и я хочу выбрать протокол в соответствии с атрибутом соединения что я отправляю на стороне клиента .. Я ищу какой-то идентификатор, который поможет мне выбрать правильный интерфейс.
спасибо!