IPC с использованием NSConnection на OS X 10.6

Я разработал два приложения, которые общаются между собой с помощью IPC. Вот код серверной и клиентской сторон:

Сервер:

_distantObject = [[DistantObject alloc] init];

NSPort *serverPort = [NSMachPort port];
_proxyConnection = [[NSConnection alloc] initWithReceivePort:serverPort sendPort:serverPort];
[_proxyConnection setRootObject:_distantObject];

if (![_proxyConnection registerName:@"MyServer"]) {

   NSLog(@"ERROR: starting MyServer");
}

Клиент:

    DistantObject *remoteObject;
    NSConnection *theConnection = [NSConnection connectionWithRegisteredName:@"MyServer"
                                                                        host:nil];
    if (theConnection != nil) {

        remoteObject = (DistantObject *)[theConnection rootProxy];
        remoteObject.someValue = value;
    }

Проблема в том, что он не работает на OS X 10.6. Но отлично работает на 10,7, 10,8 и 10,9. Вот ошибки, которые я получаю на 10.6:

__NSAutoreleaseNoPool(): объект 0x10031a0f0 класса NSCFDictionary автоматически освобожден без пула на месте - просто утечка

__NSAutoreleaseNoPool(): объект 0x100330b50 класса NSCFArray автоматически освобожден без пула на месте - только утечка

В результате клиент не передает присвоенное значение.

0 ответов

Другие вопросы по тегам