iPhone - kCFStreamNetworkServiceType не распознан? - PullRequest
1 голос
/ 05 июля 2011

В настоящее время я пытаюсь установить свойство kCFStreamNetworkServiceType одного из сокетов в моем приложении для iPhone.

Это код, который я использовал:


CFReadStreamRef sipSocketStream;

    CFSocketNativeHandle socket = (CFSocketNativeHandle)aSocket;
    CFStreamCreatePairWithSocket(kCFAllocatorDefault, socket, &sipSocketStream, nil);
    CFReadStreamSetProperty(sipSocketStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
    MyAppDelegate *appdelegate = [[UIApplication sharedApplication] delegate];
    NSInputStream *sipStream = (NSInputStream*)sipSocketStream;
    [sipStream setDelegate:appdelegate];
    [sipStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    CFReadStreamOpen(sipSocketStream);

Однако это не компилируется для меня, я получаю следующие ошибки:


Undefined symbols for architecture armv6:
  "_kCFStreamNetworkServiceType", referenced from:
      VoIPSignallingSocketInit(int)  in SocketTools.o
  "_kCFStreamNetworkServiceTypeVoIP", referenced from:
      VoIPSignallingSocketInit(int)  in SocketTools.o
ld: symbol(s) not found for architecture armv6
collect2: ld returned 1 exit status

Есть ли что-то важное, что я пропустил, или какую-то структуру, которую я должен добавить в свой проект?Поиск в Google не помог, поэтому любые мысли по этому вопросу приветствуются.

Ответы [ 3 ]

8 голосов
/ 05 июля 2011

Вы должны добавить платформу CFNetwork в свой проект, чтобы символы, определенные внутри, такие как kCFStreamNetworkServiceType, распознавались.

1 голос
/ 28 декабря 2012

Добавить инфраструктуру CFNetwork на этапах сборки-> Link Binary с библиотеками

Будет работать нормально.

1 голос
/ 05 июля 2011

Я искал документы в Xcode.В нем говорится, что они являются частью CoreServices, определенных в CFSocketStream.h

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...