Для моего приложения 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]
, но я не вижу такой опции. Как я должен быть в состоянии выполнить это?