iOS, получая "снимок" доступных сервисов Bonjour
Для моего приложения для 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]
но я не вижу такой возможности. Как я должен быть в состоянии сделать это?
1 ответ
Вам нужно будет свернуть свой тайм-аут, используя что-то вроде NSTimer.