你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS編程-網絡監測

iOS編程-網絡監測

編輯:IOS開發綜合

 

在網絡應用中,需要對用戶設備的網絡狀態進行實時監控,有兩個目的:

(1)讓用戶了解自己的網絡狀態,防止一些誤會(比如怪應用無能)

(2)根據用戶的網絡狀態進行智能處理,節省用戶流量,提高用戶體驗

  WIFIG網絡:自動下載高清圖片

  低速網絡:只下載縮略圖

  沒有網絡:只顯示離線的緩存數據

蘋果官方提供了一個叫Reachability的示例程序,便於開發者檢測網絡狀態

www.2cto.com

 

二、監測網絡狀態

Reachability的使用步驟

添加框架SystemConfiguration.framework

width=186

添加源代碼

 width=135

包含頭文件

#import Reachability.h

#import QYViewController.h

#import Reachability.h

@interface QYViewController ()

@property (nonatomic, strong) Reachability *conn;

@end

 

@implementation QYViewController

 

- (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];

self.conn = [Reachability reachabilityForInternetConnection];

[self.conn startNotifier];

 

}

 

- (void)dealloc

{

[self.conn stopNotifier];

[[NSNotificationCenter defaultCenter] removeObserver:self];

}

 

- (void)networkStateChange

{

[self checkNetworkState];

}


- (void)checkNetworkState

{

// 1.檢測wifi狀態

Reachability *wifi = [Reachability reachabilityForLocalWiFi];

// 2.檢測手機是否能上網絡(WIFIG.5G)

Reachability *conn = [Reachability reachabilityForInternetConnection];

 

// 3.判斷網絡狀態

if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi

NSLog(@有wifi);

 

} else if ([conn currentReachabilityStatus] != NotReachable) { // 沒有使用wifi, 使用手機自帶網絡進行上網

NSLog(@使用手機自帶網絡進行上網);

 

} else { // 沒有網絡

NSLog(@沒有網絡);

}

}


  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved