2015-05-26 3 views
0

Для моего приложения iOS я хочу проверить, когда вы запускаете, если есть определенная услуга, рекламируемая с помощью Bonjour, и если так подключиться к этому хосту (вместо указанного URL).iOS, получив «моментальный снимок» доступных услуг Bonjour

я реализовал в своем коде:

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 я получаю имя хоста результата службы и порт и продолжать как обычно.

Если служба не найдена, приложение остается там ... ждет ... (я знаю, что это так, как ожидалось).

Есть ли способ сказать, что после, например, 5sec 'abort'? Как-то мне нужно позвонить [self.serviceBrowser stop], но я не вижу такой опции. Как я могу это сделать?

ответ

0

Вам нужно будет свернуть свой тайм-аут, используя что-то вроде NSTimer.

Смежные вопросы