对于我的 iOS 应用程序,我想在启动时检查是否有使用 Bonjour 广告的特定服务,如果有,请连接到该主机(而不是指定的 URL)。
我在我的代码中实现了:
if (self.services) {
[self.services removeAllObjects];
} else {
self.services = [[NSMutableArray alloc] init];
self.serviceBrowser = [[NSNetServiceBrowser alloc] init];
[self.serviceBrowser setDelegate:self];
[self.serviceBrowser searchForServicesOfType:@"_myapp1._tcp." inDomain:@""];
}
如果找到服务,didFindService
则调用并通过 NSNotificationCenter 我得到结果服务主机名和端口并照常进行。
如果未找到服务,我的应用程序将保留在那里......等待......(我知道它符合预期)。
有没有办法说在例如 5 秒“中止”之后?不知何故,我需要打电话,[self.serviceBrowser stop]
但我没有看到这样的选项。我应该如何才能做到这一点?