[爆棧熱門 iOS 問題] 檢測手機上網路通不通

weixin_34320159發表於2015-10-10

系列文集:爆棧熱門 iOS 問題目錄在此。倉薯翻譯,歡迎指正:)

問題

如題。


答案

倉薯注:最高票答案(1008票)涉及嘗試連一下 google 或者 apple,在國內肯定沒戲/很慢,而且覺得並沒有這個必要。排名第二的答案很簡潔,而且親測可用,所以只翻譯第二個答案。

cannyboy,252 票

我比較喜歡簡單直接的方法。我用的是:

//Class.h
#import "Reachability.h"
#import <SystemConfiguration/SystemConfiguration.h>

- (BOOL)connected;

//Class.m
- (BOOL)connected {
    Reachability *reachability = [Reachability reachabilityForInternetConnection];  
    NetworkStatus networkStatus = [reachability currentReachabilityStatus]; 
    return networkStatus != NotReachable;
}

在需要檢查網路通不通的地方,用:

if (![self connected]) {
    // 網路不通
} else {
    // 網路通暢 
}

這個方法不會監聽網路狀態變化什麼的,它就是在你需要查的時候去查一下。

原文地址:How to check for an active Internet Connection on iPhone SDK?

本文地址:http://www.jianshu.com/p/5cfcd0aa79d3

系列文集:爆棧熱門 iOS 問題

譯者:@戴倉薯

相關文章