ios 實時檢測2G 3G 4G

2021-07-03 16:27:02 字數 1429 閱讀 1887

網路狀態監聽者:可監聽2g/3g/4g !

注意:預設程式沒有反應,你需要在真機手動改變網路環境才能看到效果!!!

1.基於蘋果的reachability封裝。

2.對常用網路狀態封裝了簡單api。

3.作為解耦的重要目的,本框架是其他很多重要core框架的核心成員。

4.新增對2g、3g、4g網路檢測支援。

5.增加實時檢測,並遮蔽了註冊通知及細節,直接使用即可,簡單方便!

1.匯入框架

#import "corestatus.h"
2. 獲取網路當前狀態: 當前狀態,非實時

corenetworkstatus currentstatus = [corestatus currentnetworkstatus];
請注意當前狀態是列舉,具體值如下:

/** 網路狀態 */

typedef enumcorenetworkstatus;

3.當前狀態中文說明文字:

nsstring * statusstring = [corestatus currentnetworkstatusstring];
4.實時監控:註冊監聽

//呼叫乙個方法即可

[corestatus beginnotinetwork:self];

請注意這個方法需要乙個遵循了corestatusprotocol協議的物件,一般控制器遵循此協議:然後請實現以下協議方法(optional):

-(void)corenetworkchangenoti:(nsnotification *)noti;

注意:當網路改變,此協議方法會自行觸發,我傳了通知資料給你,示例有列印通知內容。

當然,最簡單的獲取當前實時狀態的方法是使用上面的靜態狀態獲取,即:

-(void)corenetworkchangenoti:(nsnotification *)noti

5.實時監控:移除監聽

請特別注意:因為內部封裝,所以你看不到監聽過程,實際內部已經註冊了通知。請注意用完需要關閉監聽。比如控制器不可見需要關閉監聽:

[corestatus endnotinetwork:self];}

6. 新增api:

/** 是否是wifi */

+(bool)iswifienable;

/** 是否有網路 */

+(bool)isnetworkenable;

/** 是否處於高速網路環境:3g、4g、wifi */

+(bool)ishighspeednetwork;

ios在2g 3g 4g網路下的抓包方法

ios神器 rvictl 一根資料線實現使用tcpdump wireshark抓包分析,原理是將移動裝置虛擬乙個網絡卡介面給mac,出入口流量都可以通過這個介面傳輸給mac,tcpdump wireshark再監控這個虛擬網絡卡介面就可以抓到移動裝置上的包了 使用第三種rvictl辦法,步驟如下 將...

站在消費者角度看 2G 3G 4G區別

網路已經進入了每個人的生活,用了這麼多年的網路,聽了這麼多年的 2g 3g 4g,站在乙個消費者的角度,最直觀的感受它給我們帶來了哪些變化呢?2g 3g 4g中的g代表generation,即第二代 第三代 移動通訊系統。1g,就是我們的大哥大時代,如現在已淘汰的模擬式的fm調製,主要用於語音傳輸,...

手機在2G 3G 4G之間切換的條件或門限是什麼?

手機在2g 3g 4g之間切換的條件或門限是什麼?手機在某個模式下訊號已經很差了,為什麼沒有自動切換到另一種模式?這個問題首先根據手機所處的狀態可以分為兩種前提條 手機處於空閒狀態 可以大致理解為空閒待機狀態 此時手機自主進行小區和網路模式的重選 這個過程 叫做重選 手機處於連線狀態 可以大致理解為...