ぼりぼり農園

iPhoneアプリ開発しながらObjective-CとPerlとLinuxとネタ集め。家に大きめの机欲しい。あとイス。

【Objective-C】Reachability - iOSのネットワーク接続状況を確認する公式ライブラリ

そうだ七夕だ!!笹の葉さらさらじゃんか!!

やりたいこと

iOSのネットワーク接続状況に応じてアラートを出すような処理(特に圏外を検知したい事が多い気がする)

Appleが公式ライブラリ「Reachability」を公開しているので、それを使って実装するのがよいです。

実装準備

  1. ここからサンプルコードをDL
  2. SystemConfiguration.frameworkをプロジェクトにインポート
  3. Reachability.hとReachability.mをプロジェクトにインポート
  4. 使用したいファイルにReachability.hをインポートして準備完了

実装

Reachabilityには色々機能が設定されてますが、基本はネットワーク接続状況を確認するのに使うはずなので、下記を実装すればOKです。

// ネット接続状態確認
currentReachability = [Reachability reachabilityForInternetConnection];
NetworkStatus netStatus = [currentReachability currentReachabilityStatus];
    
switch (netStatus)
{
    case NotReachable:        {
        // 圏外の場合の処理
        break;
    }
    case ReachableViaWWAN:        {
        // 携帯回線に接続可能な場合の処理
        break;
    }
    case ReachableViaWiFi:        {
        // wifiに接続可能な場合の処理
        break;
    }
}

サンプルアプリコード

GitHubに置きました。
ボタンを押すとネットワーク接続状況確認できるだけの簡単なものです。
変な所、改善点等あればご指摘いただけると狂い悶えるのだ...喜びでなッ!!

ReachabilityDemo

iPhoneアプリ開発のコツとツボ35

iPhoneアプリ開発のコツとツボ35