获取wifi信息兼容iOS 14以上设备
This commit is contained in:
@@ -117,57 +117,50 @@ Assign BOOL isGoChangeWiFi;//更换为设备的WiFi
|
||||
}
|
||||
}
|
||||
-(void)checkWiFi{
|
||||
NSDictionary *ifs = [self getSSIDInfo];
|
||||
NSString *wifiName = [ifs objectForKey:@"SSID"];
|
||||
//先判断之前的wifi名称是否和热点的wifi名称重复,如果冲突,则提示wifi名称错误
|
||||
if ([wifiName isEqualToString:self.wifiName]) {
|
||||
[self.view makeToast:@"请先连接设备热点"];
|
||||
return;
|
||||
}
|
||||
if ([wifiName rangeOfString:@"ifish"].location!=NSNotFound||[wifiName rangeOfString:@"GW"].location!=NSNotFound||[wifiName.lowercaseString isEqualToString:@"wlan"]||![wifiName isEqualToString:self.wifiName]) {
|
||||
//wifi正确,则尝试连接设备
|
||||
if(self.deviceType==DEVICECAMERA)
|
||||
{
|
||||
YooseeNextConnectViewController *nextvc=[[YooseeNextConnectViewController alloc] init];
|
||||
nextvc.wifiName=self.wifiName;
|
||||
nextvc.wifiPwd=self.wifiPwd;
|
||||
[CommonUtils getNetworkTypeComplete:^(NSString *netconnType, NSString *BSSID, NSString *SSID) {
|
||||
|
||||
NSString *wifiName = SSID;
|
||||
//先判断之前的wifi名称是否和热点的wifi名称重复,如果冲突,则提示wifi名称错误
|
||||
if ([wifiName isEqualToString:self.wifiName]) {
|
||||
[self.view makeToast:@"请先连接设备热点"];
|
||||
return;
|
||||
}
|
||||
if ([wifiName rangeOfString:@"ifish"].location!=NSNotFound||[wifiName rangeOfString:@"GW"].location!=NSNotFound) {
|
||||
//wifi正确,则尝试连接设备
|
||||
if(self.deviceType==DEVICECAMERA)
|
||||
{
|
||||
YooseeNextConnectViewController *nextvc=[[YooseeNextConnectViewController alloc] init];
|
||||
nextvc.wifiName=self.wifiName;
|
||||
nextvc.wifiPwd=self.wifiPwd;
|
||||
|
||||
nextvc.conectType =conectType_ap;
|
||||
[self.navigationController pushViewController:nextvc animated:YES];
|
||||
}
|
||||
else
|
||||
{
|
||||
ConnectingAquarVC *connecting = InitObject(ConnectingAquarVC);
|
||||
connecting.ssid = self.ssid;
|
||||
connecting.bssid = self.bssid;
|
||||
connecting.wifiName = self.wifiName;
|
||||
connecting.wifiPassword = self.wifiPwd;
|
||||
connecting.deviceType=self.deviceType;
|
||||
[self.navigationController pushViewController:connecting animated:YES];
|
||||
}
|
||||
|
||||
nextvc.conectType =conectType_ap;
|
||||
[self.navigationController pushViewController:nextvc animated:YES];
|
||||
}else{
|
||||
[self.view makeToast:@"WiFi名称不匹配,请重试"];
|
||||
}
|
||||
else
|
||||
{
|
||||
ConnectingAquarVC *connecting = InitObject(ConnectingAquarVC);
|
||||
connecting.ssid = self.ssid;
|
||||
connecting.bssid = self.bssid;
|
||||
connecting.wifiName = self.wifiName;
|
||||
connecting.wifiPassword = self.wifiPwd;
|
||||
connecting.deviceType=self.deviceType;
|
||||
[self.navigationController pushViewController:connecting animated:YES];
|
||||
}
|
||||
|
||||
}else{
|
||||
[self.view makeToast:@"WiFi名称不匹配,请重试"];
|
||||
}
|
||||
}
|
||||
- (NSDictionary *)getSSIDInfo
|
||||
{
|
||||
NSArray *interfaceNames = CFBridgingRelease(CNCopySupportedInterfaces());
|
||||
NSDictionary *SSIDInfo;
|
||||
for (NSString *interfaceName in interfaceNames) {
|
||||
SSIDInfo = CFBridgingRelease(
|
||||
CNCopyCurrentNetworkInfo((__bridge CFStringRef)interfaceName));
|
||||
BOOL isNotEmpty = (SSIDInfo.count > 0);
|
||||
if (isNotEmpty) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return SSIDInfo;
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
//即将进入前台
|
||||
-(void)viewWillEnterForeground:(NSNotification *)noti{
|
||||
if (self.isGoChangeWiFi) {
|
||||
[self checkWiFi];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.35 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[self checkWiFi];
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user