LoginSignup
50
52

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-12-06

アプリによっては通信状況が悪いと落ちてしまいます。
その際、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

50
52
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
52