在c++或者Object-C文件下,添加頭文件:
#import ?<ifaddrs.h>
#import ?<arpa/inet.h>
并添加以下代碼:
//獲取ip地址
- (NSArray*)getIpAddresses
{NSString*address =@"error";
structifaddrs *interfaces =NULL;
structifaddrs *temp_addr =NULL;
intsuccess =0;
// retrieve the current interfaces - returns 0 on successsuccess = getifaddrs(&interfaces);
if(success ==0)? ?
{
// Loop through linked list of interfacestemp_addr = interfaces;
while(temp_addr !=NULL)? ? ? ?
{if(temp_addr->ifa_addr->sa_family == AF_INET)? ? ? ? ? ?
{// Check if interface is en0 which is the wifi connection on the iPhone
if([[NSStringstringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"])? ? ? ? ? ? ? ? {
// Get NSString from C String
address = [NSString stringWithUTF8String:inet_ntoa(((structsockaddr_in *)temp_addr->ifa_addr)->sin_addr)];? ? ? ? ? ? ? ?
} ? ? ?
?} ? ? ? ? ??
temp_addr = temp_addr->ifa_next; ? ? ? }? ?
}
// Free memoryfreeifaddrs(interfaces);
return[address UTF8String];
}