1.判断网络类型
Reachability *r = [Reachability reachabilityWithHostName:@"www.baudu.com"]; switch ([r currentReachabilityStatus]) { //NSString *wifiName = @"Not Found"; case NotReachable: // 没有网络连接 NSLog(@"没有网络连接"); break; case ReachableViaWWAN: // 使用3G网络 NSLog(@"使用3G网络"); break; case ReachableViaWiFi: // 使用WiFi网络 NSLog(@"使用WiFi网络"); break; }
2.获取路由信息
- (NSString *)getBSSID { NSDictionary *ifs = [self fetchSSIDInfo]; NSString *bssid = [[ifs objectForKey:@"BSSID"] uppercaseString]; NSString *bssidValue; if([bssid isEqualToString:@"UNSUPPORTED"]){ NSLog(@"Simulator doesn't detect wifi, please connect your iPhone!"); bssidValue = @""; }else{ //第一位为0的时候会被省略掉 //封装第一位为0的情况 NSArray *array=[bssid componentsSeparatedByString:@":"]; NSMutableArray *tempArray = [[NSMutableArray alloc]init]; for(int i = 0; i < [array count]; i++){ if([array[i] length]== 1){ [tempArray addObject:[@"0" stringByAppendingString:[NSString stringWithFormat:@"%@", [array objectAtIndex:i]]]]; }else{ [tempArray addObject:[NSString stringWithFormat:@"%@", [array objectAtIndex:i]]]; } } bssidValue = [tempArray componentsJoinedByString:@":"]; } NSLog(@"bssid=%@",bssidValue); return bssidValue; } - (NSString *)getSSID { NSDictionary *ifs = [self fetchSSIDInfo]; NSString *ssid = [ifs objectForKey:@"SSID"]; NSString *ssidValue; if([[ssid uppercaseString] isEqualToString:@"UNSUPPORTED"]){ NSLog(@"Simulator doesn't detect wifi, please connect your iPhone!"); ssidValue = @""; }else{ ssidValue = ssid; } return ssidValue; } - (id)fetchSSIDInfo { NSArray *ifs = (__bridge id)CNCopySupportedInterfaces(); NSLog(@"Supported interfaces: %@", ifs); NSDictionary *info; if (!ifs) { info = [NSDictionary dictionaryWithObjectsAndKeys: @"UNSUPPORTED", @"SSID", @"UNSUPPORTED", @"BSSID", nil]; } else{ for (NSString *ifnam in ifs) { info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam); NSLog(@"%@ => %@", ifnam, info); if (info && [info count]) { break; } } } return info; }
然后调用下getBSSID就可以了