5

我遇到了一个非常烦人的问题。我试图搜索 NSNetService(我知道存在)。我已将http://www.macresearch.org/cocoa-scientists-part-xxviii-bonjour-and-how-do-you-do中的示例代码复制到我自己的应用程序中。我可以看到(在示例程序中)我的服务已创建。但是当我点击搜索并开始 NSNetServiceBrowser 搜索时,什么也没有发生。较新的委托函数被调用

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

我一直在检查我的对象仍然保留的东西,我看不到任何东西被释放(而且我没有开启 GC)。有人知道该怎么做吗?代码与示例中的代码完全相同,只是我在它周围有一些其他的东西(运行一个 openGL 窗口)。

4

1 回答 1

9

这个问题已经很久了(iOS 4/5 时代?)所以我不确定这是否适合您,但请确保您仅在应用程序的主线程中使用 NSNetServiceBrowser。

(我不记得它是否也必须在主线程上初始化,或者它是否必须初始化并从同一个线程调用 -search ,或者它是否足以从主线程调用 -search ,但我有完全相同的问题,在我的情况下,它与以某种方式使用后台线程有关。抱歉,答案含糊。)

于 2014-03-25T10:42:03.160 回答