iOS 获取设备的ip地址
2015-04-02 13:53
399 查看
导入以下头文件
#include<ifaddrs.h>
#include<arpa/inet.h>
通过下面方法即可获取ip地址
+(NSString*)getIpAddress{
NSString*address=@"error";
structifaddrs*interfaces=NULL;
structifaddrs*temp_addr=NULL;
intsuccess=0;
//retrievethecurrentinterfaces-returns0onsuccess
success=getifaddrs(&interfaces);
if(success==0){
//Loopthroughlinkedlistofinterfaces
temp_addr=interfaces;
while(temp_addr!=NULL){
if(temp_addr->ifa_addr->sa_family==AF_INET){
//Checkifinterfaceisen0whichisthewificonnectionontheiPhone
if([[NSStringstringWithUTF8String:temp_addr->ifa_name]isEqualToString:@"en0"]){
//GetNSStringfromCString
address=[NSStringstringWithUTF8String:inet_ntoa(((structsockaddr_in*)temp_addr->ifa_addr)->sin_addr)];
}
}
temp_addr=temp_addr->ifa_next;
}
}
//Freememory
freeifaddrs(interfaces);
returnaddress;
}