Edited at
SwiftDay 6

[サンプルコード付き]サクッとSwiftで通信状態を確認する

More than 3 years have passed since last update.

アプリによっては通信状況が悪いと落ちてしまいます。

その際、Reachabilityという


iOSの通信状態が確認できるライブラリ

を使って、


iOSの通信状態を確認する

必要があります。

こちらのReachabilityですが、

Objective-C同様に

Swiftでも使えます。

これからSwiftで開発をされる方の参考になればと思います。


1・「Isuru-Nanayakkara/Swift-Reachability」からソースを落としてくる

git cloneやzipファイルで落としてきます。

スクリーンショット 2014-12-06 17.25.51.png



2・プロジェクトを作成する

今回は「Sample」というプロジェクト名で作成していきます。

スクリーンショット 2014-12-06 17.21.00.png

スクリーンショット 2014-12-06 17.21.36.png

スクリーンショット 2014-12-06 17.21.45.png


3・「1」のソースから「Reachability.swift」だけを「2」のプロジェクトにマージする

スクリーンショット 2014-12-06 17.28.08.png

スクリーンショット 2014-12-06 17.28.20.png

スクリーンショット 2014-12-06 17.48.26.png


4・以下のようなコードを実装する

//

// ViewController.swift
// Sample
//
// Created by g08m11 on 2014/12/06.
// Copyright (c) 2014年 Bloc. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
reachabilityCheck ()
// Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func reachabilityCheck () {
if Reachability.isConnectedToNetwork() {
println("正常な電波状況です")
} else {
let alert = UIAlertView()
alert.title = "通信エラー"
alert.message = "通信状況がよくありません。電波環境を確認後、再度お試しください。"
alert.addButtonWithTitle("OK")
alert.show()

}

}

}


5・コードが正常に稼働しているか確認する


Wifiが入っている状態

こちらは正常な場合は何も表示されずにdebugで

「正常な電波状況です」と表示されます。

sample_1.gif

スクリーンショット 2014-12-06 17.40.13.png


wifiが入っていない場合

こちらは起動時に通信エラーである旨のpopアップが表示されます。

スクリーンショット 2014-12-06 17.44.13.png

sample_2.gif


サンプルコード

こちらにあげていますのでぜひ、ご参考までに!



スクリーンショット 2014-12-07 12.26.44.png