iOS開發之連網狀態檢測

來源:互聯網
上載者:User

標籤:

雖然只是一個小功能,感覺還是挺實用的吧!

首先去蘋果的官網上下載Reachability這個庫。

因為連網的狀態是要即時監聽的,當網路的情況發生變化的時候要及時通知使用者,所以應該使用通知中樞。

具體實現:

- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.        //不能寫在viewDidLoad網路的情況發生變化的時候要提醒    //判斷能否串連到某一個主機(一般使用百度,他的伺服器基本不會斷)     self.reach = [Reachability reachabilityWithHostName:@"baidu.com"];        //添加一個通知    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(abilityChanged) name:kReachabilityChangedNotification object:nil];    [self.reach startNotifier];}- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {    NSLog(@"%@",change);}- (void)abilityChanged {    //狀態    switch (self.reach.currentReachabilityStatus) {        case NotReachable:        {            [self showMessage:@"小夥子沒有串連哦"];        }            break;        case ReachableViaWiFi:        {            [self showMessage:@"小夥子有WIFI咯"];            NSLog(@"不用花錢");        }            break;        case ReachableViaWWAN:        {
       [self showMessage:@"當前網路狀態為2G/3G/4G"]; NSLog(@"要流量"); } break; default: { NSLog(@"不太清楚"); } break; }}- (void)showMessage:(NSString *)title { UIAlertController *alertCtr = [UIAlertController alertControllerWithTitle:title message:nil preferredStyle:UIAlertControllerStyleAlert]; [self presentViewController:alertCtr animated:YES completion:nil];}- (void)dealloc { //停止監聽 [self.reach stopNotifier]; //移除監聽 [[NSNotificationCenter defaultCenter] removeObserver:self];}

 

iOS開發之連網狀態檢測

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.