iOSのアプリ開発を行う上で、オンラインチェックを、Appleが用意しているサンプルコードReachabilityを使うのが便利です。
Swiftで開発しているプロジェクトで、Reachabilityを使うときのメモです。
1)Reachability.h, Reachability.mをPJに追加
2)Bridging-Headerに、Reachabilityを記載
PjName-Bridging-Header.h
下記を追加
#import "Reachability.h"
3)今回は、NetworkUtilというクラスを作成して利用する
NetworkUtil.swift
import UIKit class NetworkUtil: NSObject { class func hasConnectivity() -> Bool { let reachability : Reachability = Reachability.reachabilityForInternetConnection() let networkStatus : Int = reachability.currentReachabilityStatus().value return networkStatus != 0 } }
4) 利用方法
// オンラインチェックしたいメソッドで、
if(NetworkUtil.hasConnectivity()) { // オンライン処理 } else { // オフライン時のハンドリング }
環境
XCODE 6.0.1
iOS SDK 8.0
Reachability Version: 3.5
参照
http://stackoverflow.com/questions/24516748/check-network-status-in-swift