1つのアプリケーションを実行しています。その中で、 を使用してサービスを公開し、 を使用NsNetservice
して閲覧してNSNetserviceBrowser
います。ただし、サービスがサービスを正常に公開することがありますが、ブラウザはdidFindservice
デリゲート メソッドを使用してそのサービスを見つけることができません。のみnetServiceBrowserWillSearch
が発火し、didNotsearch
デリゲート メソッドも発火しません。デバイスを再起動すると、正しく動作します。
この問題の解決方法を教えてください。ブラウザとサービスのコードは以下を確認してください
ブラウザ:
self.browser = [[NSNetServiceBrowser alloc] init];
self.browser.includesPeerToPeer = YES;
[self.browser setDelegate:self];
[self.browser searchForServicesOfType:[NSString stringWithFormat:@"%@%@._tcp.",serviceName,Name] inDomain:@""];
サービス:
self.netService = [[NSNetService alloc] initWithDomain:@"" type:[NSString stringWithFormat:@"%@%@._tcp.",serviceName,Name] name:Name port:randomPortNumber];
self.netService.includesPeerToPeer = YES;
[self.netService setDelegate:self];
[self.netService scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.netService publishWithOptions:NSNetServiceListenForConnections];