pragma mark 獲取網(wǎng)絡(luò)具體狀態(tài) (狀態(tài)欄上顯示的) // 0:無網(wǎng)絡(luò)/1:2G網(wǎng)絡(luò)/2:3G網(wǎng)絡(luò)/3:4G網(wǎng)絡(luò)/4:wifi網(wǎng)絡(luò)
-
(NSInteger )getNetWorkStates
{
if (is_iPhoneX)
{
UIApplication *app = [UIApplication sharedApplication];
id statusBar = [app valueForKeyPath:@"statusBar"];
id statusBarView = [statusBar valueForKeyPath:@"statusBar"];
UIView *foregroundView = [statusBarView valueForKeyPath:@"foregroundView"];NSArray *subviews = [[foregroundView subviews][2] subviews]; NSString *network = @""; for (id subview in subviews) { if ([subview isKindOfClass:NSClassFromString(@"_UIStatusBarWifiSignalView")]) { network = @"WIFI"; }else if ([subview isKindOfClass:NSClassFromString(@"_UIStatusBarStringView")]) { network = [subview valueForKeyPath:@"originalText"]; } } if ([network isEqualToString:@"WIFI"]) { return 4; }else if ([network isEqualToString:@"4G"]) { return 3; } return 0;}
UIApplication *app = [UIApplication sharedApplication];
NSArray *children = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];
int netType = 0;
for (id child in children)
{
if ([child isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")])
{
netType = [[child valueForKeyPath:@"dataNetworkType"] intValue];
}
}
return netType;
}
NSInteger netWorkSatus = [self getNetWorkStates];
if (netWorkSatus == 2 ) {
[self showMsg:@"您正在使用3G網(wǎng)絡(luò)..."];
}else if (netWorkSatus == 3 ) {
[self showMsg:@"您正在使用4G網(wǎng)絡(luò)..."];
} else if (netWorkSatus == 4){
[self getARkey];
}else{
[self.view showToastMessage:@"您當前的網(wǎng)絡(luò)不穩(wěn)定,請稍后再試"];
}