0

对于我的 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]但我没有看到这样的选项。我应该如何才能做到这一点?

4

1 回答 1

0

你需要使用类似 NSTimer 的东西来滚动你自己的超时。

于 2015-05-27T00:59:12.670 回答