12月
29

SwiftでReachabilityを使う方法

Written by takashings posted on 12月 29, 2014 in Swift

How to use reachability for swift 01

Apple公式で通信状態をチェックする「Reachability」というライブラリが提供されています。

Objective-Cではこのライブラリを使うことができましたが、Swift版のReachabilityは現時点(記事掲載時)では提供されていません。

今回はSwiftでReachabilityを使う方法を備忘録もかねて、載せてみたいと思います。

まず、XcodeにReachabilityのヘッダファイル(Reachability.h)とメソッドファイル(Reachability.m)をインポートします。
言語環境がSwiftなので、Objective-Cのファイルを追加しますか?というアラートが表示されますが、気にせず進みます。

How to use reachability for swift 02

インポートができると、「プロジェクト名-Bridging-Header」というファイルも一緒に作成されます。

ここにヘッダーファイルをインポートする記述を加えます。

#import "Reachability.h"

これでSwiftでObjective-Cのソースを使うことができます。

あとは、クラスを作ったり、何かの処理に加えて使います。
多くの場面で使うことがないようであれば、専用のクラスを作るほどでもないので、こんな感じで。

func checkHasNetworkConnection() -> Bool {
    let reachability : Reachability = Reachability.reachabilityForInternetConnection()
    let networkStatus : Int = reachability.currentReachabilityStatus().value
    return networkStatus != 0
}

これでReachabilityをSwiftで使うことができます。
Swiftのコードではないですが、純正のコード以外特別なライブラリを追加せずに使う方法をご紹介しました。

Objective-Cのソースコードと一緒でちょっと気持ち悪いですが、現時点でSwift版のReachabilityが提供されていないので、この方法で使うしかなさそうです。

開発のプロが教える Swift標準ガイドブック
渡辺 龍司 富家 将己 鈴木 晃 加藤 寛人
マイナビ (2014-12-25)
売り上げランキング: 2,827


この記事をシェアする

  • このエントリーをはてなブックマークに追加