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

この記事からわかること
- Swiftのライブラリ:Reachabilityの導入方法と使い方
- Cocoa Podsを使用したインストール方法
index
[open]
\ アプリをリリースしました /
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文で条件分岐することが可能です。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。