Делегат NSNetServiceBrowser не вызывается при поиске - PullRequest
2 голосов
/ 20 августа 2010

У меня действительно раздражающая проблема.Я пытаюсь найти NSNetService (я знаю, что существует).Я скопировал пример кода из http://www.macresearch.org/cocoa-scientists-part-xxviii-bonjour-and-how-do-you-do в свое собственное приложение.Я вижу (в примере программы), что мой сервис создан.Но когда я нажимаю кнопку поиска и запускаю поиск NSNetServiceBrowser, ничего не происходит.Функция делегата newer получает имя

 -(void)netServiceBrowser:(NSNetServiceBrowser *)aBrowser didFindService:(NSNetService *)aService moreComing:(BOOL)more {

Я проверял такие вещи, как то, что мои объекты все еще сохраняются, и я не могу видеть, что что-то выпущено (и у меня нет GC).У кого-нибудь есть идеи, что делать?Код точно такой же, как в примере, только у меня есть кое-что другое (работает окно openGL).

1 Ответ

3 голосов
/ 25 марта 2014

Этот вопрос давно существует (эпоха iOS 4/5?), Поэтому я не уверен, что это ответ для вас, но убедитесь, что вы используете NSNetServiceBrowser только из основного потока вашего приложения.

(я не могу вспомнить, нужно ли его также инициализировать в главном потоке, или его нужно просто инициализировать и вызывать -search в том же потоке, или если достаточно вызвать -search из основного потока, но у меня была точно такая же проблема, и в моем случае это было связано с каким-то образом использованием фонового потока. Извините за неопределенный ответ.)

...