欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

判斷iPhone的WiFi是否打開的兩種方法

 更新時(shí)間:2016年11月22日 17:24:25   作者:sinat_25544827  
大家都知道判斷WiFi是否連接可以使用Reachability進(jìn)行判斷,那么wifi是否打開應(yīng)該怎么判斷呢?下面小編給大家分享兩種完全基于不同思路的方法,需要的朋友參考下

判斷WiFi是否連接可以使用Reachability進(jìn)行判斷,那么WiFi是否打開應(yīng)該怎么判斷呢?

下面是兩種完全基于不同思路的方法:

方法一:

使用SystemConfiguration.framework 庫進(jìn)行判斷

#import <ifaddrs.h>
#import <net/if.h>
#import <SystemConfiguration/CaptiveNetwork.h>
- (BOOL) isWiFiEnabled {
NSCountedSet * cset = [NSCountedSet new];
struct ifaddrs *interfaces;
if( ! getifaddrs(&interfaces) ) {
for( struct ifaddrs *interface = interfaces; interface; interface = interface->ifa_next) 
{
if ( (interface->ifa_flags & IFF_UP) == IFF_UP ) {
[cset addObject:[NSString stringWithUTF8String:interface->ifa_name]];
}
}
}
return [cset countForObject:@"awdl0"] > 1 ? YES : NO;
}

方法二:

使用KVC對(duì)StatusBar進(jìn)行判斷

- (BOOL)isWiFiConnected {
UIApplication *app = [UIApplication sharedApplication];
NSArray *children = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];
//獲得到網(wǎng)絡(luò)返回碼
for (id child in children) {
if ([child isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
int netType = [[child valueForKeyPath:@"dataNetworkType"] intValue];
NSLog(@"type:%@",@(netType));
if (netType == 1) {
NSLog(@"2G");
return NO;
}
else if (netType == 2) {
NSLog(@"3G");
return NO;
}
else if (netType == 3) {
NSLog(@"4G");
return NO;
}
else if (netType == 5){
NSLog(@"Wifi");
return YES;
}
// 1,2,3,5 分別對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)是2G、3G、4G及WIFI。(需要判斷當(dāng)前網(wǎng)絡(luò)類型寫個(gè)switch 判斷就OK)
}
}
NSLog(@"not open network or no net work");
return NO;
}

實(shí)際上,方法二也是對(duì)網(wǎng)絡(luò)連接狀態(tài)的判斷,不能判斷WiFi是否打開。不同的網(wǎng)絡(luò)連接狀態(tài)下,StatusBar展示不同的圖標(biāo),當(dāng)WiFi打開而沒連接時(shí),方法二得到的結(jié)果依然會(huì)是NO。

以上所述是小編給大家介紹的判斷iPhone的WiFi是否打開的兩種方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • iOS Swift利用UICollectionView實(shí)現(xiàn)無限輪播功能(原理)詳解

    iOS Swift利用UICollectionView實(shí)現(xiàn)無限輪播功能(原理)詳解

    無線輪播圖的實(shí)現(xiàn)方式有很多,下面這篇文章主要給大家介紹了關(guān)于iOS Swift利用UICollectionView實(shí)現(xiàn)無限輪播功能(原理)的相關(guān)資料,需要的朋友可以參考下
    2018-09-09
  • iOS中解決Xcode9的Log日志無法輸出中文的問題小結(jié)

    iOS中解決Xcode9的Log日志無法輸出中文的問題小結(jié)

    這篇文章主要介紹了iOS中解決Xcode9的Log日志無法輸出中文的問題小結(jié),需要的朋友可以參考下
    2017-11-11
  • 安裝win10+黑蘋果雙系統(tǒng)零基礎(chǔ)教程(圖文)

    安裝win10+黑蘋果雙系統(tǒng)零基礎(chǔ)教程(圖文)

    這篇文章主要介紹了安裝win10+黑蘋果雙系統(tǒng)零基礎(chǔ)教程(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2020-01-01
  • iOS沙盒視頻縮略圖及保存本地代碼

    iOS沙盒視頻縮略圖及保存本地代碼

    這篇文章主要為大家詳細(xì)介紹了iOS沙盒視頻縮略圖及保存本地的代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 深入淺析IOS中UIControl

    深入淺析IOS中UIControl

    UIControl,相信大家對(duì)其并不陌生吧,比如平常最常用的UIButton就是繼承自UIControl的。下面通過本篇文章給大家介紹ios中UIControl,感興趣的朋友一起學(xué)習(xí)吧
    2015-10-10
  • IOS 的彈性滾動(dòng)解決方案

    IOS 的彈性滾動(dòng)解決方案

    所謂彈性滾動(dòng)就是指在翻動(dòng)長(zhǎng)頁面手指離開時(shí),由慢到塊,由快到慢的過度。這篇文章主要介紹了IOS 的彈性滾動(dòng)解決方案,需要的朋友可以參考下
    2016-10-10
  • Objective-C封裝字符串存儲(chǔ)操作示例

    Objective-C封裝字符串存儲(chǔ)操作示例

    這篇文章主要介紹了Objective-C封裝字符串存儲(chǔ)操作示例,需要的朋友可以參考下
    2014-05-05
  • iOS圖片壓縮、濾鏡、剪切及渲染等詳解

    iOS圖片壓縮、濾鏡、剪切及渲染等詳解

    這篇文章主要給大家介紹了關(guān)于iOS圖片壓縮、濾鏡、剪切及渲染等的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 詳解iOS社會(huì)化分享集成

    詳解iOS社會(huì)化分享集成

    這篇文章主要介紹了詳解iOS社會(huì)化分享集成的相關(guān)知識(shí)點(diǎn)以及實(shí)現(xiàn)的代碼效果講述,有興趣的朋友參考下。
    2018-02-02
  • iOS用UITextField切換明文/密文顯示時(shí)末尾空白的問題解決

    iOS用UITextField切換明文/密文顯示時(shí)末尾空白的問題解決

    最近在工作中遇到一個(gè)問題,利用UITextField切換明文/密文顯示時(shí)發(fā)現(xiàn)字符串后面會(huì)出現(xiàn)一段空白,所以下面這篇文章主要給大家介紹了iOS用UITextField切換明文/密文顯示時(shí)末尾空白問題的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05

最新評(píng)論