iOS 網(wǎng)絡(luò)狀態(tài)(區(qū)分3G,4G,wifi)

獲取設(shè)備當(dāng)前網(wǎng)絡(luò)類型,目前主要有兩種方案。
方案一:
使用蘋果提供的Reachability。此方法的原理是通過無線接入技術(shù)來區(qū)分網(wǎng)絡(luò)類型。比如CTRadioAccessTechnologyLTE 為4G網(wǎng)絡(luò)技術(shù),
CTRadioAccessTechnologyGPRS 和CTRadioAccessTechnologyEdge為2G網(wǎng)絡(luò)技術(shù)。

- (NSString *)getNetWorkInfo{
Reachability *reach = [Reachability reachabilityForInternetConnection];
NetworkStatus status = [reach currentReachabilityStatus];
switch(status)
 {
    case NotReachable:
        return @"unknown";
    case ReachableViaWWAN:
        return @"wwan";
    case ReachableViaWiFi:
        return @"wifi";
    case kReachableVia2G:
        return @"2G";
    case kReachableVia3G:
        return @"3G";
    case kReachableVia4G:
        return @"4G";
    default:
        return @"";
 }
}

方案二:
通過狀態(tài)欄上網(wǎng)絡(luò)類型圖標(biāo)類,通過KVO的方式獲取networktype。

-(void)networktype{
NSArray *subviews = [[[[UIApplication sharedApplication] valueForKey:@"statusBar"] valueForKey:@"foregroundView"]subviews];
NSNumber *dataNetworkItemView = nil;
for (id subview in subviews) {
    if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
        dataNetworkItemView = subview;
       break;
 }
}

switch ([[dataNetworkItemView valueForKey:@"dataNetworkType"]integerValue]) {
case 0:
   NSLog(@"No wifi or cellular");
   infoLabel.text=@"無服務(wù)";
break
case 1:
   NSLog(@"2G");
   infoLabel.text=@"2G";
break;
case 2:
   NSLog(@"3G");
   infoLabel.text=@"3G";
break;
case 3:
   NSLog(@"4G");
   infoLabel.text=@"4G";
break;
case 4:
   NSLog(@"LTE");
   infoLabel.text=@"LTE";
break;
case 5:
   NSLog(@"Wifi");
   infoLabel.text=@"Wifi";
break;
default:
break;
}}

參考:http://blog.csdn.net/justinjing0612/article/details/38313747

文章內(nèi)容部分參考自網(wǎng)絡(luò),如有版權(quán)問題請聯(lián)系linjitaoyt@gmail.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,847評論 4 61
  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 26,329評論 7 249
  • 長白山。 從未對誰說起過那里有多么的秀麗壯美,或許有天旅行經(jīng)過那里,抵達(dá)那個名為夢的地方。還記得兩年前,多少人都說...
    解沐澤閱讀 517評論 0 1
  • 1 小志跟在一身白衣的工作人員身后,一扇扇白色的門從眼前掠過,每個門上都有一個號碼。 “就是這里了?!惫ぷ魅藛T停在...
    與月閱讀 980評論 2 7
  • 2017.8.14 晴 貪睡回家 一般 我似乎做了一個很長很長的夢,我夢見傾城的洪水,淹沒了道路,可人們卻安然無恙...
    古燈_553d閱讀 202評論 0 0

友情鏈接更多精彩內(nèi)容