您的位置:首页 > 其它

获取苹果设备联网时的IP地址

2016-01-15 14:14 375 查看
在类中导入头文件

#import <ifaddrs.h>

#import <arpa/inet.h>

然后再把下面的方法粘到类中

#pragma mark 获取设备IP地址的方法

// Get IP Address

-(NSString*)getIPAddress

{

NSString *address=@"error";

struct ifaddrs *interfaces=NULL;

struct ifaddrs *temp_addr=NULL;

int success=0;

// retrieve the current interfaces - returns 0 on success

success=getifaddrs(&interfaces);

if(success==0)

{

// Loop through linked list of interfaces

temp_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([[NSString
stringWithUTF8String:temp_addr->ifa_name]
isEqualToString:@"en0"])

{

// Get NSString from C String

address = [NSString
stringWithUTF8String:inet_ntoa(((struct
sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];

}

}

temp_addr=temp_addr->ifa_next;

}

}

// Free memory

freeifaddrs(interfaces);

return address;

}
获取IP时记得判断一下返回的值是否为空,据我了解当手机连接的不是Wi-Fi返回的结果值是空的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: