我遇到了一个非常烦人的问题。我试图在 NSNetService 之后搜索(我知道存在)。我已将 http://www.macresearch.org/cocoa-scientists-part-xxviii-bonjour-and-how-do-you-do 中的示例代码复制到我自己的应用程序中。我可以看到(在示例程序中)我的服务已创建。但是当我点击搜索并开始 NSNetServiceBrowser 搜索时,没有任何 react 。较新的委托(delegate)函数被调用
-(void)netServiceBrowser:(NSNetServiceBrowser *)aBrowser didFindService:(NSNetService *)aService moreComing:(BOOL)more {
我一直在检查诸如我的对象仍然保留之类的东西,我看不到任何东西被释放(而且我没有打开 GC)。有人知道该怎么做吗?代码与示例中的完全相同,只是我在它周围有一些其他东西(运行 openGL 窗口)。
最佳答案
这个问题已经很久了(iOS 4/5 时代?)所以我不确定这是否适合您,但请确保您仅在应用程序的主线程中使用 NSNetServiceBrowser。
(我不记得它是否也必须在主线程上初始化,或者它是否必须初始化并从同一线程调用 -search,或者从主线程调用 -search 就足够了,但我有完全相同的问题,在我的情况下,它与以某种方式使用后台线程有关。抱歉回答含糊。)
关于objective-c - 搜索时未调用 NSNetServiceBrowser 委托(delegate),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3526661/