iPhoneアプリ開発 -端末がネットワークにつながっているかどうか知りたい-

公開日: : 最終更新日:2014/04/20 iPhone, IT, Mac


 やりたいこと

アプリがネットに繋がっていなければアラートボックスを表示させたい。
ネットに繋がってないと利用できない機能とかがある場合は、必須ですね。

 やったこと

 ソースコードのダウンロード

Appleがネットワークの接続状態を確認するのに便利な「Reachability」を以下で公開してくれています。
Reachability

当然ですが、バージョンアップの日にちを確認しましょう。
今回のは以下

Last Revision:
Version 2.2, 2010-07-20
Updated for iOS 4.0

 組み込み

ダウンロードして解凍すると、以下のように色々と現れます。

組み込むのに必要なのは、以下の2つのファイル。

  • Reachability.h
  • Reachability.m

上記のファイルを自身のソースにコピペします。

「Reachability.h」をインポートしといて、ネットを利用する箇所で以下のようなコードを呼び出します。

Reachability *hostReach = [Reachability reachabilityForInternetConnection];
BOOL flag = YES;
switch ([hostReach currentReachabilityStatus]) {
	case NotReachable:
    	flag = NO;
        break;
    case ReachableViaWWAN:
    case ReachableViaWiFi:
    	break;
}

flagがNOだったらアラートボックスを表示するようにします。

 注意点(ARC)

本ソースはARC非対応なので、ARCを有効にしたままだとエラーになります。
そこで、「Build Phases」の「Compile Sources」にあるReachability.mに以下を追加します。

fno-objc-arc

 おまけ

参考サイトにありますが、現状だとwarningが表示されます。
その場合は、以下をimportさせます。

#import <netinet/in.h>

参考

広告

関連記事

no image

str_padとsprintfの速度

PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会

記事を読む

no image

Objective-cで悩んでいたこと −アクセサのことについて−

* 疑問 以前書いたiPhoneアプリを開発していて(Objective-Cを触っていて)疑問に思

記事を読む

no image

jQuery Mobileの1.0Beta3、1.0RC1で起きた現象 -iOS5で動かない!?-

最近おきたjQuery Mobile周りについてのメモ。 本来なら色々チェックしてちゃんと原因を調

記事を読む

WordPressプラグイン「WP Hatena Notation」にPullRequestを投げた話

WordPressではてな記法が利用できる「WP Hatena Notation」を重宝しています。

記事を読む

no image

CakePHP1.3でテストコード(2) -フィクスチャをいじってみる(テストデータの動的登録)-

cakePHP1.3でのSimpleTestを使ったテストケースの第2回目。 今回は、動的にテストデ

記事を読む

no image

iPhoneアプリ開発 芳名帳アプリ作成(6) -写真に保存-

* 今までの流れ - -[http://pplace.jp/2013/06/1531/:title=

記事を読む

no image

Facebookがちょっとコワイ vol.2 -本当にあなたはあなたなの?-

以下のブログを読んで、さらにコワイと思ったFacebook。 あなたが登録している「友

記事を読む

no image

CakePHP1.3でスマートフォン対応

CakePHP1.3でスマートフォン対応のためにやったことをメモしておきます。 * 環境 -

記事を読む

NEC_0882

Facebookで名刺を作ってみた -Mooの名刺作成サービス-

1ヶ月~半月くらい前に話題になっていたMooの名刺作成サービス。 話題になっていた時期に注文した名

記事を読む

no image

Jenkins+Capistranoを設定した時にしたこと -「ポート変更」「公開鍵認証」対応-

* 前段階 上記にあるように、Jenkins+Capistranoの設定をしています。 ただし、設

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑