hachinoBlog

hachinobuのエンジニアライフ

ネットワークに接続しているかどうかの判定

ネットワークに接続しているかどうかの判定は凄く簡単で
Reachabilityを使えば良い。
ReachabilityクラスはAppleのサンプルコードReachabilityから入手できる。

Reachability.hとReachability.mをプロジェクトに入れて
SystemConfiguration.frameworkをフレームワークに追加することで使用できる。

Reachabilityのカテゴリを作って下記を記述する

- (BOOL)isReachable {
    Reachability *reachability = [Reachability reachabilityForInternetConnection];
    
    switch ([reachability currentReachabilityStatus]) {
        case NotReachable: //接続不可
            return FALSE;
            break;
            
        case ReachableViaWWAN: //3G接続
            break;
            
        case ReachableViaWiFi: //Wi-fi接続
            break;
            
        default:
            break;
    }
    return TRUE;
}

呼び出し側で上記カテゴリをimportしてisReachableを呼び出せば良いだけ。