[swift] 네트워크 연결 상태를 확인하는 방법

앱이 사용자의 네트워크 연결 상태에 따라 다른 동작을 수행해야 할 때가 많습니다. 이러한 경우에는 사용자의 네트워크 연결 상태를 확인하는 방법을 알아야 합니다. Swift에서는 Reachability 라이브러리를 사용하여 네트워크 연결 상태를 확인할 수 있습니다.

Reachability 라이브러리 설치

Reachability 라이브러리를 사용하기 위해서는 먼저 프로젝트에 해당 라이브러리를 추가해야 합니다. 다음의 단계를 따라 진행해주세요.

  1. CocoaPods를 사용하는 경우, Podfile에 다음의 라인을 추가합니다:
pod 'ReachabilitySwift'
  1. CocoaPods를 사용하지 않는 경우, ReachabilitySwift의 GitHub 저장소에서 프로젝트를 다운로드하고 프로젝트에 직접 추가합니다.

네트워크 연결 상태 확인하기

Reachability 라이브러리를 사용하여 네트워크 연결 상태를 확인하는 방법은 다음과 같습니다.

import Reachability

func checkNetworkConnectivity() {
    let reachability = try! Reachability()

    reachability.whenReachable = { reachability in
        // 네트워크에 연결되어 있을 때 동작할 코드 작성
        print("네트워크에 연결되었습니다.")
    }

    reachability.whenUnreachable = { _ in
        // 네트워크에 연결되어 있지 않을 때 동작할 코드 작성
        print("네트워크에 연결되어 있지 않습니다.")
    }

    do {
        try reachability.startNotifier()
    } catch {
        // Reachability를 시작할 수 없는 경우 예외 처리 코드 작성
        print("Reachability를 시작할 수 없습니다.")
    }
}

위의 코드에서는 Reachability 객체를 생성한 후, whenReachable 클로저와 whenUnreachable 클로저를 추가합니다. whenReachable 클로저는 네트워크에 연결되어 있는 경우 동작할 코드를 작성하고, whenUnreachable 클로저는 네트워크에 연결되어 있지 않은 경우 동작할 코드를 작성합니다.

startNotifier()를 호출하여 Reachability를 시작하고, 네트워크 연결 상태가 변경될 때마다 해당 클로저가 호출됩니다.

참고 자료