获取IP地址,判断是否开启热点
来源:互联网 发布:js attribute property 编辑:程序博客网 时间:2024/06/07 16:32
//// FLApController.m// Demo//// Created by fulin on 16/2/16.// Copyright © 2016年 fulin. All rights reserved.//#import "FLApController.h"#import <ifaddrs.h>#import <arpa/inet.h>#import "AXNetAddress.h"@implementation FLApController-(void)viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; //测试获取设备名称 NSLog(@"%@", [self deviceNameForIphone] ); NSLog(@"----------------%D", [self flagWithOpenHotSpot] );}/** * 获取当前设备名称 */- (NSString *)deviceNameForIphone{ return [[UIDevice currentDevice] name];}/** * 判断是否开启热点 */- (BOOL)flagWithOpenHotSpot{ NSDictionary *dict = [self getIpAddresses]; if ( dict ) { NSArray *keys = dict.allKeys; for ( NSString *key in keys) { AXNetAddress *address = dict[key]; if ( address.name && [address.name containsString:@"bridge"]) return YES; } } return NO;}/** * 获取手机的IP地址 */- (NSDictionary *)getIpAddresses{ NSMutableDictionary* addresses = [[NSMutableDictionary alloc] init]; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL; @try { // retrieve the current interfaces - returns 0 on success NSInteger success = getifaddrs(&interfaces); //NSLog(@"%@, success=%d", NSStringFromSelector(_cmd), success); 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) { // Get NSString from C String NSString *ifaName = [NSString stringWithUTF8String:temp_addr->ifa_name]; NSString *address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *) temp_addr->ifa_addr)->sin_addr)]; NSString *mask = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *) temp_addr->ifa_netmask)->sin_addr)]; NSString *gateway = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *) temp_addr->ifa_dstaddr)->sin_addr)]; AXNetAddress* netAddress = [[AXNetAddress alloc] init]; netAddress.name = ifaName; netAddress.address = address; netAddress.netmask = mask; netAddress.gateway = gateway; addresses[ifaName] = netAddress; } temp_addr = temp_addr->ifa_next; } } } @catch (NSException *exception) { //NSLog(@"%@ Exception: %@", DEBUG_FUN, exception); } @finally { // Free memory freeifaddrs(interfaces); } return addresses;}@end
0 0
- 获取IP地址,判断是否开启热点
- iOS 之获取IP地址 以及 判断个人热点是否开启
- 判断是否为IP地址
- 判断是否为IP地址
- 判断IP地址是否正确
- 判断IP地址是否有效
- 判断一个IP地址是否是内网地址
- 判断IP地址是否为公有地址
- 获取手机wifi热点分配的ip地址列表
- 判断IP地址是否为内网IP地址
- 判断IP地址是否为内网IP地址
- 判断ip地址是否有效(C#)
- 判断IP地址是否有效 (正则表达式)
- 判断字符串是否为IP地址。
- C++判断是否是IP地址
- Delph i判断IP地址是否正确
- 判断是否是IP地址格式
- c# 判断字符串是否为IP地址
- SourceNavigator,代替SourceInsight
- [Android] AS 中 Gradle 配置运行浅析
- LeetCode 169. Majority Element
- Xcode 7 error: Missing iOS Distribution signing identity
- 将 Shiro 作为应用的权限基础 五:SpringMVC+Apache Shiro+JPA(hibernate)整合配置
- 获取IP地址,判断是否开启热点
- PHP中设置时区方法汇总
- windows下安装redis
- 查看自启动脚本查看重启SVN命令的方法
- 系统学习机器学习之增强学习(未完待续)
- python 矩阵随机生成
- JPA EntityManager的四个主要方法 ——persist,merge,refresh和remove
- PERL 实现微信登录
- Can not perform this action after onSaveInstanceState