[swift] Reachability를 사용해 네트워크 연결 성공 여부 확인하기

iOS 앱을 개발할 때, 네트워크 연결 상태를 확인하는 것은 매우 중요합니다. 사용자가 인터넷에 연결되어 있는지 여부를 알 수 있다면, 네트워크에 관련된 작업을 수행하거나 적절한 에러 메시지를 표시할 수 있습니다.

이를 위해 iOS에서는 Reachability라이브러리를 제공합니다. 이 라이브러리를 사용하면 현재 사용자의 네트워크 연결 상태를 감지할 수 있습니다.

Reachability 라이브러리 설정

  1. 먼저, Reachability 라이브러리를 프로젝트에 추가해야 합니다. 이를 위해 CocoaPods를 사용하거나 수동으로 라이브러리를 추가할 수 있습니다. 여기서는 CocoaPods를 이용하는 방법을 설명하겠습니다.

  2. 프로젝트의 Podfile에 아래의 라인을 추가합니다.

pod 'ReachabilitySwift'
  1. 터미널에서 프로젝트 폴더로 이동한 다음 아래의 명령어를 실행하여 라이브러리를 설치합니다.
pod install
  1. 이제 Reachability 라이브러리를 사용할 준비가 되었습니다.

Reachability 라이브러리를 사용한 네트워크 상태 확인

네트워크 연결 상태를 확인하기 위해 Reachability 라이브러리를 사용할 수 있습니다. 아래의 코드를 사용하여 현재 네트워크 연결 상태를 확인할 수 있습니다.

import Reachability

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

    switch reachability.connection {
    case .unavailable:
        print("네트워크 연결이 불가능합니다.")
    case .wifi:
        print("Wi-Fi에 연결되었습니다.")
    case .cellular:
        print("셀룰러 데이터에 연결되었습니다.")
    }
}

checkNetworkStatus()

위의 코드에서 Reachability 클래스의 인스턴스를 생성하고, connection 속성을 통해 현재의 연결 상태를 확인합니다. 가능한 연결 상태는 .unavailable, .wifi, .cellular로 나뉩니다. 각각 연결이 불가능한 상태, Wi-Fi 연결 상태, 셀룰러 데이터 연결 상태를 나타냅니다.

위의 코드를 실행하면 현재 연결된 네트워크 상태에 따라 적절한 출력이 될 것입니다.

결론

Reachability 라이브러리를 사용하면 iOS 앱에서 네트워크 연결 상태를 쉽게 확인할 수 있습니다. 이를 통해 네트워크 상태에 따라 다양한 작업을 수행하거나 에러 처리를 할 수 있습니다.

참고: ReachabilitySwift GitHub Repository