Как получить ipaddress устройства iphone в универсальном приложении в ios
Мне нужно получить IP-адрес устройства iphone/ipad,
Я использовал следующий код
- (NSString *)getIPAddress
{
struct ifaddrs *interfaces = NULL;
struct ifaddrs *temp_addr = NULL;
NSString *wifiAddress = nil;
NSString *cellAddress = nil;
// retrieve the current interfaces - returns 0 on success
if(!getifaddrs(&interfaces)) {
// Loop through linked list of interfaces
temp_addr = interfaces;
while(temp_addr != NULL) {
sa_family_t sa_type = temp_addr->ifa_addr->sa_family;
if(sa_type == AF_INET || sa_type == AF_INET6)
{
name = [[NSString stringWithUTF8String:temp_addr->ifa_name] retain];
addr = [[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)] retain]; // pdp_ip0
if([name isEqualToString:@"en0"])
{
// Interface is the wifi connection on the iPhone
wifiAddress = addr;
NSLog(@"address addr %@",addr);
}
else if([name isEqualToString:@"pdp_ip0"])
{
// Interface is the cell connection on the iPhone
cellAddress = addr;
NSLog(@"address addr %@",addr);
}
}
temp_addr = temp_addr->ifa_next;
}
// Free memory
freeifaddrs(interfaces);
}
addr = wifiAddress ? wifiAddress : cellAddress;
NSLog(@"address addr %@",addr);
return addr ? addr : @"0.0.0.0";
}
Он отлично работает, когда приложение не является универсальным приложением.
Когда я изменил приложение на универсальное приложение, оно возвращает нулевое значение в ответ
пожалуйста, помогите мне, спасибо заранее