对于我的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]
,但我没有看到这样的选择。我该怎样才能做到这一点?
答案 0 :(得分:0)
您需要使用NSTimer之类的东西来滚动自己的超时。