2009-10-19 3 views

답변

18

오래된 스레드가 있지만 로컬 서비스를 찾을 수있는 방법이 있습니다 Discovering all advertised Bonjour service types. 형식을 올바른 형식으로 가져 오려면 결과를 조작해야합니다. Mac에서 & iPhone에서 작동하지만 iPhone에서 Wi-Fi 연결이없는 경우 서비스가 검색되지 않습니다.

NSNetServiceBrowser* domainBrowser = [[NSNetServiceBrowser alloc] init]; 
    domainBrowser.delegate = self; 
    [domainBrowser searchForServicesOfType:@"_services._dns-sd._udp." 
           inDomain:@"local."]; 
4

제가 알고있는 바로는, 사용 가능한 모든 서비스를 검색 할 기능이 없습니다. 서비스 게시 응용 프로그램이 자체 서비스 유형을 정의 할 수 있기 때문일 수 있습니다.

일반적인 유형 (HTTP, 프린터 등)의 서비스 만 찾는 경우 이전에 발견 한 모든 도메인에서 원하는 모든 유형의 -[instanceOfNSNetServiceBrowser searchForServicesOfType:inDomain:]으로 쉽게 루프를 만들 수 있습니다.

developer docs guide section on setting up a NSNetService도 도움이 될 수 있습니다.

+0

그래, 그것이 유일한 방법 인 것 같습니다. – Farcaller

관련 문제