ios 获取手机ip地址
2016-05-30 00:00
537 查看
摘要: ios 获取手机ip地址
#import <ifaddrs.h> #import <arpa/inet.h> #include <net/if.h> //获取IP地址 + (NSString *)getIpAddr { NSString *IP = @""; BOOL success; struct ifaddrs * addrs; const struct ifaddrs * cursor; success = getifaddrs(&addrs) == 0; if (success) { cursor = addrs; while (cursor != NULL) { // the second test keeps from picking up the loopback address if (cursor->ifa_addr->sa_family == AF_INET && (cursor->ifa_flags & IFF_LOOPBACK) == 0) { NSString *name = [NSString stringWithUTF8String:cursor->ifa_name]; //猜的无线 if ([name isEqualToString:@"en0"] || [name isEqualToString:@"en1"] || [name isEqualToString:@"en2"]) { IP = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]; } //猜的卡 else if ([name isEqualToString:@"pdp_ip0"] || [name isEqualToString:@"pdp_ip1"] || [name isEqualToString:@"pdp_ip2"]) { IP = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]; } else if ([name isEqualToString:@"ppp0"] || [name isEqualToString:@"ppp01"] || [name isEqualToString:@"ppp02"]) { IP = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]; } } cursor = cursor->ifa_next; } freeifaddrs(addrs); } return IP; }
相关文章推荐
- iOS开发运行报错、常见问题
- IOS基础-block用法
- iOS常用第三方框架的工作原理
- iOS 唯一设备号
- iOS-库 .a与.framework
- 应用沙盒分析
- CoreMotion iOS陀螺仪使用
- iOS 不同界面(ViewController)之间传值
- Xcode使用xcconfig文件配置环境
- iOS 指定页面添加 屏幕固定
- iOS程序开发引用的第三方库之间出现duplicate symbol时的处理方法
- OS X 和 IOS 的图像处理框架 (Core Image)
- iOS 模态视图,阻尼动画
- iOS开发frame, contentSize, contentOffset, contentInset 区别联系浅析
- iOS离屏渲染优化
- iOS-OC为什么需要重写setter或getter方法?
- iOS 作为Central蓝牙连接外围(下)
- 关于iOS开发的学习资料
- IOS学习笔记——基础界面 (一)
- iOS微博项目(七)发微博和定位