IOS-網絡(監聽網絡狀態)

?

 1 //
 2 //  BWNetWorkTool.h
 3 //  IOS_0131_檢測網絡狀態
 4 //
 5 //  Created by ma c on 16/1/31.
 6 //  Copyright ? 2016年 博文科技. All rights reserved.
 7 //
 8 
 9 #import <Foundation/Foundation.h>
10 
11 @interface BWNetWorkTool : NSObject
12 ///是否是WiFi
13 + (BOOL)isEnableWiFi;
14 ///是否是3G
15 + (BOOL)isEnable3G;
16 
17 @end
18 
19 //
20 //  BWNetWorkTool.m
21 //  IOS_0131_檢測網絡狀態
22 //
23 //  Created by ma c on 16/1/31.
24 //  Copyright ? 2016年 博文科技. All rights reserved.
25 //
26 
27 #import "BWNetWorkTool.h"
28 #import "Reachability.h"
29 
30 @implementation BWNetWorkTool
31 
32 //是否是WiFi
33 + (BOOL)isEnableWiFi
34 {
35     return [[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] !=NotReachable;
36 }
37 //是否是3G
38 + (BOOL)isEnable3G
39 {
40     return [[Reachability reachabilityForInternetConnection] currentReachabilityStatus] !=NotReachable;
41 }
42 
43 
44 @end
  1 //
  2 //  ViewController.m
  3 //  IOS_0131_檢測網絡狀態
  4 //
  5 //  Created by ma c on 16/1/31.
  6 //  Copyright ? 2016年 博文科技. All rights reserved.
  7 //
  8 
  9 #import "ViewController.h"
 10 #import "Reachability.h"
 11 #import "BWNetWorkTool.h"
 12 
 13 @interface ViewController ()
 14 
 15 @property (nonatomic, strong) Reachability *reachability;
 16 
 17 @end
 18 
 19 @implementation ViewController
 20 /*
 21  檢測網絡狀態
 22  1.在網絡應用中,需要對用戶設備的網絡狀態進行實時監控,目的:
 23    a.讓用戶了解自己的網絡狀態,防止一些誤會(怪應用無能)
 24    b.根據用戶的網絡狀態進行智能處理,節省用戶流量,提高用戶體驗
 25      WIFI/3G/4G網絡:自動下載高清圖片
 26             低速網絡:只能下載縮略圖
 27             沒有網絡:智能顯示離線的緩存數據
 28    c.蘋果官方提供了一個叫Reachability的示例程序,便于開發者檢測網絡狀態
 29      https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip
 30  
 31  2.Reachability的使用步驟
 32  1>添加框架SystemConfiguration.framework
 33  2>添加源代碼
 34  3>包含頭文件 - #import "Reachability.h"
 35  
 36  3.常見用法
 37  1>是否是WiFi
 38  + (BOOL)isEnableWiFi
 39  {
 40  return [[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] !=NotReachable;
 41  }
 42  2>是否是3G
 43  + (BOOL)isEnable3G
 44  {
 45  return [[Reachability reachabilityForInternetConnection] currentReachabilityStatus] !=NotReachable;
 46  }
 47  */
 48 
 49 - (void)viewDidLoad {
 50     [super viewDidLoad];
 51     
 52     //監聽網絡狀態發生改變通知
 53     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];
 54     
 55     //獲得Reachability對象
 56     self.reachability = [Reachability reachabilityForInternetConnection];
 57     
 58     //開始監控
 59     [self.reachability startNotifier];
 60     
 61 //    //獲取Reachability對象
 62 //    Reachability *wifi = [Reachability reachabilityForLocalWiFi];
 63 //    //獲取Reachability對象的當前網絡狀態
 64 //    NetworkStatus wifiStatus = wifi.currentReachabilityStatus;
 65 //    
 66 //    if (wifiStatus !=NotReachable) {
 67 //        NSLog(@"wifi");
 68 //    }
 69     
 70 }
 71 
 72 - (void)networkStateChange
 73 {
 74     NSLog(@"網絡狀態改變了");
 75     [self changeNetworkState];
 76 }
 77 
 78 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
 79 {
 80     [self changeNetworkState];
 81 }
 82 
 83 - (void)changeNetworkState
 84 {
 85     if ([BWNetWorkTool isEnableWiFi]) {
 86         NSLog(@"WiFi環境");
 87     }else if ([BWNetWorkTool isEnable3G]){
 88         NSLog(@"手機自帶網絡");
 89     }else{
 90         NSLog(@"沒有網絡");
 91     }
 92 }
 93 
 94 - (void)dealloc
 95 {
 96     [self.reachability stopNotifier];
 97     [[NSNotificationCenter defaultCenter] removeObserver:self];
 98 }
 99 
100 @end

?

轉載于:https://www.cnblogs.com/oc-bowen/p/5173792.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458335.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458335.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458335.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++中的friend詳細解析

C中的友元機制允許類的非公有成員被一個類或者函數訪問&#xff0c;友元按類型分為三種&#xff1a;普通非類成員函數作為友元,類的成員函數作為友元&#xff0c;類作為友元。友元包括友元的聲明以及友元的定義。 友元的聲明默認為了extern&#xff0c;就是說友元類或者友元函數…

【VMCloud云平臺】擁抱Docker(六)關于DockerFile(1)

之前我們說過通過Docker pull來下載Images創建容器&#xff0c;這一次我們來聊下如何通過DockerFile創建Images再創建容器&#xff0c;Dockerfile也是Docker中的重點&#xff0c;使用DockerFile能夠更加便捷輕量的存儲標準化環境&#xff0c;也是環境管理的重要手段&#xff0c…

C++中相對路徑與絕對路徑以及斜杠與反斜杠的區別 及 處理代碼

轉載自&#xff1a;http://blog.csdn.net/sszgg2006/article/details/8447176文件路徑正斜杠和反斜杠正斜杠&#xff0c;又稱左斜杠&#xff0c;符號是"/"&#xff1b;反斜杠&#xff0c;也稱右斜杠&#xff0c;符號是"\"。文件路徑的表示可以分為絕對路徑…

01參考資料

《Visual C#經典游戲編程開發》 目標&#xff1a; 掌握小游戲開發的思路&#xff0c;在實際開發過程中&#xff0c;思考實踐面向對象&#xff0c;為cocos2d-x開發打下基礎轉載于:https://www.cnblogs.com/sharpfeng/p/5181260.html

WPF的二維繪圖(一)——DrawingContext

DrawingContext比較類似WinForm中的Graphics 類&#xff0c;是基礎的繪圖對象&#xff0c;用于繪制各種圖形&#xff0c;它主要API有如下幾種&#xff1a; 繪圖API 繪圖API一般形為DrawingXXX系列&#xff0c;常用的基礎的繪圖API有&#xff1a; DrawEllipseDrawGeometryDrawG…

Windows系統編程之進程間通信

Windows系統編程之進程間通信作者&#xff1a;北極星2003來源&#xff1a;看雪論壇&#xff08;www.pediy.com&#xff09;Windows 的IPC&#xff08;進程間通信&#xff09;機制主要是異步管道和命名管道。&#xff08;至于其他的IPC方式&#xff0c;例如內存映射、郵槽等這里…

前端知識體系收藏

1. 布局框架&#xff1a; Bootstrap: http://getbootstrap.com/ Foundation: http://foundation.zurb.com/ Uikit: http://www.getuikit.com/ Web Components:http://css-tricks.com/modular-future-web-components// 2. 構建工具及包管理器&#xff1a; Grunt: http://gruntjs…

20分鐘快速了解Redis

Redis可以說是目前最火爆的NoSQL數據庫&#xff01; 過去幾年&#xff0c;Memcached很盛行&#xff0c;現在有很多公司已將Memcached替換成了Redis。當然&#xff0c;很多人替換并不清楚為什么&#xff0c;只是感覺不想讓主流拋棄&#xff0c;這也充分反映了目前Redis的強勢。 …

進程通信例子

from&#xff1a;https://msdn.microsoft.com/zh-cn/library/system.diagnostics.process.beginoutputreadline(vvs.80).aspx?cs-save-lang1&cs-langcsharp#code-snippet-4備注可同步或異步讀取 StandardOutput 流。Read、ReadLine 和 ReadToEnd 等方法對進程的輸出流執行…

IDEA15 下運行Scala遇到問題以及解決辦法

為了讓Scala運行起來還是很麻煩&#xff0c;為了大家方便&#xff0c;還是記錄下來&#xff1a; 1、首先我下載的是IDEA的社區版本&#xff0c;版本號為15. 2、下載安裝scala插件&#xff1a; 2.1 進入設置菜單。 2.2 點擊安裝JetBrains plugin 2.3 輸入scala查詢插件&#xff…

通過掃碼自定義鏈接安裝iOS app,版本更新總結。

1、打包ipa&#xff0c;plist工具&#xff1a;xcode6證書&#xff1a;企業級開發證書 1.1&#xff09;xcode6開始企業級打包時不在生成plist&#xff0c;需要自己編寫&#xff1a;模版見下&#xff1a; <?xml version"1.0" encoding"UTF-8"?><!…

安排與愿想

機器學習的理論學了好久了&#xff0c;對于回歸&#xff0c;分類&#xff0c;聚類&#xff0c;數據的預處理的各種算法也有了深刻認識&#xff1b; 但紙上談兵&#xff0c;沒有意義&#xff1b; 從今天開始用起來吧&#xff0c;把各種算法的實踐以及思路記錄下來&#xff0c;附…

pdf破解版

網頁說明http://aikongke.com/3754.html1118-1805-7284-0295-8107-3663您好 親 看到您拍的寶貝了&#xff01; 鏈接&#xff1a;http://pan.baidu.com/s/1c0iE44C 密碼&#xff1a;bnyc XI版轉載于:https://www.cnblogs.com/computerMatainance/p/5192834.html

使用try-with-resources替代try finally釋放資源

2019獨角獸企業重金招聘Python工程師標準>>> 1、舊社會 Java里&#xff0c;對于文件操作IO流、數據庫連接等開銷非常昂貴的資源&#xff0c;用完之后必須及時通過close方法將其關閉&#xff0c;否則資源會一直處于打開狀態&#xff0c;直至程序停止&#xff0c;增加…

MFC模態對話框和非模態對話框

MFC中對話框有兩種形式&#xff0c;一個是模態對話框&#xff08;model dialog box&#xff09;&#xff0c;一個是非模態對話框&#xff08;modeless dialog box&#xff09;。一、模態對話框&#xff08;model dialog box&#xff09;在程序運行的過程中&#xff0c;若出現了…

平板電腦離壽終正寢還有多遠?

近期有評論稱&#xff0c;因為大尺寸智能手機越來越普及&#xff0c;小尺寸平板正遭受著越來越嚴重的沖擊&#xff0c;在這樣的背景下&#xff0c;平板廠商也紛紛轉攻超大尺寸平板市場&#xff0c;以此避開大尺寸智能手機的競爭&#xff0c;只是。這樣的策略轉變是否能扭轉平板…

Swift 與 JSON 數據

轉載自&#xff1a; http://www.cnblogs.com/theswiftworld/p/4660177.html 我們大家平時在開發 App 的時候&#xff0c;相信接觸最多的就是 JSON 數據了。只要你的 App 有讀取網絡數據的功能&#xff0c;你就免不了要與 JSON 打交道。比如你做一個新聞 App&#xff0c;你要讀取…

TeamViewer - 最好用強大的免費跨平臺遠程桌面控制軟件 (支持電腦和手機)

from&#xff1a;很早以前 LYcHEE 就提到過&#xff0c;家中的潮人爺爺奶奶每天擺弄著電腦&#xff0c;看看新聞發發郵件&#xff0c;安享晚年生活。只是意料之中的&#xff0c;電腦上莫名出現各種問題&#xff1f;不翼而飛的圖標&#xff1f;照片又忘記怎么導出了&#xff1f;…

【設計模式】7、橋接模式

橋接模式就是對一個類的方法進行抽象化&#xff0c;吧不相關的因素提取出來&#xff0c;發展出第二個類 1 package com.shejimoshi.structural.Bridge;2 3 4 /**5 * 功能&#xff1a;橋接模式使用6 * 意圖&#xff1a;將抽象部分與它的實現部分分離&#xff0c;使他們都…

hadoop HA 之 QJM

前言 本文主要通過對hadoop2.2.0集群配置的過程加以梳理&#xff0c;所有的步驟都是通過自己實際測試。文檔的結構也是根據自己的實際情況而定&#xff0c;同時也會加入自己在實際過程遇到的問題。搭建環境過程不重要&#xff0c;重要點在于搭建過程中遇到的問題&#xff0c;解…