如何find活动的AirPlay设备的IP地址?

我想知道是否有可能获得我的iOS应用程序当前正在使用的airplay设备的IP地址。

无论是,还是networking上所有支持Airplay的设备的IP地址。

先谢谢你!

编辑:虽然我现在有一个公认的答案,我有兴趣知道如何获得当前正在播放的airplay设备的IP。

你必须使用NSNetServiceBrowser来使用协议search设备。 我已经做了与打印机相同,我的代码如下所示:

_netServiceBrowser= [[NSNetServiceBrowser alloc] init]; _netServiceBrowser.delegate= self; [_netServiceBrowser searchForServicesOfType:@"_pdl-datastream._tcp" inDomain:@"local."]; 

您必须为要search的协议更改@"_pdl-datastream._tcp" ,您可以在此处find协议列表: http : //developer.apple.com/library/mac/#qa/qa1312/_index html的

之后,你必须编写协议的function:

 #pragma mark - NSNetServiceBrowserDelegate -(void)netServiceBrowserWillSearch:(NSNetServiceBrowser *)aNetServiceBrowser{ //prepare the start of the search } -(void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didFindService:(NSNetService *)aNetService moreComing:(BOOL)moreComing{ //Find a service, remember that after that you have to resolve the service to know the address [_printers addObject:aNetService]; aNetService.delegate=self; [aNetService resolveWithTimeout:5.0]; //More coming says if it has find more services, in case of more service are in queue wait to reload your interface if (!moreComing) { [self.tableView reloadData]; } } -(void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didNotSearch:(NSDictionary *)errorDict{ //Do what you want in case of error } -(void)netServiceBrowserDidStopSearch:(NSNetServiceBrowser *)aNetServiceBrowser{ //End search! } - (NSString *)getStringFromAddressData:(NSData *)dataIn { //Function to parse address from NSData struct sockaddr_in *socketAddress = nil; NSString *ipString = nil; socketAddress = (struct sockaddr_in *)[dataIn bytes]; ipString = [NSString stringWithFormat: @"%s", inet_ntoa(socketAddress->sin_addr)]; ///problem here return ipString; } - (void)netServiceDidResolveAddress:(NSNetService *)sender { //delegate of NSNetService resolution process [_addresses addObject:[self getStringFromAddressData:[sender.addresses objectAtIndex:0]]]; [self.tableView reloadData]; } 

一个可用的网页: http : //www.macresearch.org/cocoa-scientists-part-xxviii-bonjour-and-how-do-you-do

我希望它可以帮助你