Делегат NSNetServiceBrowser не вызывается при поиске
У меня действительно раздражающая проблема. Я пытаюсь найти 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 ответ
Этот вопрос уже давно (эра iOS 4/5?), Поэтому я не уверен, что это ответ для вас, но убедитесь, что вы используете NSNetServiceBrowser только из основного потока вашего приложения.
(Я не могу вспомнить, должен ли он также быть инициализирован в основном потоке, или он должен быть просто инициализирован и вызван на -search из того же потока, или если достаточно вызвать -search из основного потока, но я имел точно такая же проблема, и в моем случае это было связано с использованием фонового потока в некотором роде. Извините за неопределенный ответ.)