【Swift】Reachabilityの導入と使い方!ネットワーク接続状況を確認

この記事からわかること

  • SwiftライブラリReachability導入方法使い方
  • Cocoa Podsを使用したインストール方法

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

公式リファレンス:Reachability

Reachabilityとは?

Reachabilityとは端末のネットワーク接続状況を識別する機能を提供するSwiftのライブラリの1つです。ネットワーク状況はWi-Fiかキャリアの回線かオフラインかなど細かい違いを識別できるようになっています。

またReachabilityを使用することでネットワーク接続状況を監視し、変化があった際に通知を受け取ることも可能になります。

導入方法

おすすめ記事:【Swift UI】CocoaPodsのインストール方法と使い方

Cocoa PodsはObjective-CまたはSwiftのライブラリ管理ツールです。インストール方法は他のライブラリと変わらず以下の文を「PodFile」に書き込んでpod installを実行するだけです。

pod 'ReachabilitySwift'
$ pod install

これで導入は完了しました。

ネットワーク状況の識別方法

実際にネットワーク状況の識別方法importを忘れずに記述しておきます。

import Reachability

実際に識別する方法は以下の通りになります。

 let reachability = try! Reachability()
switch reachability.connection {
case .wifi:
    print("Wi-Fiに接続")
case .cellular:
    print("キャリアの回線に接続")
case .unavailable:
    print("ネットワーク未接続")
case .none:
    print("該当なし")
}

Reachabilityクラス

public class Reachability

Reachabilityクラスをインスタンス化する際にはtryが必要になります。

connectionプロパティ

Reachabilityクラスのconnectionプロパティ現在のネットワークの接続状況をConnection型で保持するプロパティです。Connection型はnone/unavailable/wifi/cellularの4つの値を保持する列挙型です。

おすすめ記事:【Swift】enum(列挙型)の使い方!値型enumと関連型enumとは

public enum Connection: CustomStringConvertible {
    @available(*, deprecated, renamed: "unavailable")
    case none
    case unavailable, wifi, cellular
    public var description: String {
        switch self {
        case .cellular: return "Cellular"
        case .wifi: return "WiFi"
        case .unavailable: return "No Connection"
        case .none: return "unavailable"
        }
    }
}

この値に応じてswitch文で条件分岐することが可能です。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index