過接続NSNetServiceBrowser
を見つけるためNSNetService
に使用しています。今、私のコードはほぼ毎回動作します。しかし、たまに (10 回に 1 回)見つけられないか、見つけるのに非常に時間がかかります。Apple TV
bonjour
NSNetServiceBrowser
NSNetService
Apple TV
NSNetServiceBrowser
が を検出できなくなったらApple TV
、 を再起動する必要がApple TV
あり、再びすべてが正常に機能し始めます。
何が問題なのか、再起動するとどのようにApple TV
解決するのか理解できません。そのため、問題を特定するためのガイダンスや提案を探しています。
Apple TV のコード:
service = [[NSNetService alloc] initWithDomain:@"" type:@"_test._tcp" name:@"TV ZohoShow" port:0];
[service scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
service.includesPeerToPeer = YES;
if(service)
{
[service setDelegate:self];
[service publishWithOptions:NSNetServiceListenForConnections];
}
iOS デバイスのコード:
[serviceBrowser scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
serviceBrowser.includesPeerToPeer = YES;
[serviceBrowser setDelegate:self];
[serviceBrowser searchForServicesOfType:@"_test._tcp" inDomain:@""];
更新: 2 つの iOS デバイス間の接続を試みても、決して起こりません。その場合、100/100回接続できます。しかし、Apple TV を導入するとすぐに、テレビが見つからない機会が増え始めます。