AppleのサンプルソースコードReachability ver5.0 について調べてみた

スポンサーリンク
Sample Code

20150424_001

Appleが提供する通信状態を取得するサンプルコードがIPv6対応等行われ ver3.5→5.0へと大きく変わったのでもう一度調べてみました。

Appleサンプルコード

Reachability Version 5.0, 2016-05-05

環境

Xcode 7.3.1
iOS 9.3.2
SIM au

実機で確認する

AppleのReachabilityで取得できる値は3種類

1.NotReachable (回線なし)
2.ReachableViaWiFi (Wi-Fi回線)
3.ReachableViaWWAN (WWAN回線)

実機のステータスではどれに当てはまるか確認をした

4G(3G)

20160720_001

4G回線使用時は”WWAN”を取得。

Wi-Fi

20160720_002

Wi-Fi回線使用時は”WiFi”を取得。

機内モード

20160720_003

機内モード時は”NotReachable”を取得。

SIMなし

20160720_007

SIMなし時は”NotReachable”を取得。

4G→圏外

20160720_004

4G回線から圏外に移行した時は”WWAN”を取得。
通信ができないので”NotReachable”かと思いましたが違いました。
注意が必要です。

 Wi-Fi→圏外

20160720_005

Wi-Fi通信中(4Gは圏外状態)からWi-FiをOFFにして4G圏外に移行した時”WWAN”を取得。これも”NotReachable”ではないので注意が必要です。

機内モード→圏外

20160720_006

機内モードから4G圏外に移行した場合(一度も4Gをつかめなかった場合)”NotReachable”を取得。

まとめ

このサンプルコードは、Wi-Fi通信とその他の2種類しか正確に状態を取得できそうにありません。Wi-Fi通信中かそうでないかを取得するときには使えると思います。

残念ながらversion3.5とほとんど変わりませんでした。

以下結果をまとめました。

NotReachable

1.機内モード
2.SIMなし
3.機内モードONからOFFにしてWANをつかめない時

ReachableViaWWAN

1.4G
2.一度WANを掴んで圏外になったとき
3.Wi-Fi通信中、WAN圏外からWi-FiをOFFにしたとき

ReachableViaWiFi

1.Wi-Fi通信時

今回使用したサンプルコード

プロジェクトファイル — github

コメント

タイトルとURLをコピーしました