[swift] 연결 상태 변화를 처리하는 Reachability Delegate 사용법

이번 포스트에서는 iOS 앱에서 인터넷 연결 상태 변화를 처리하기 위해 Reachability Delegate를 사용하는 방법에 대해 알아보겠습니다.

1. Reachability 라이브러리 설치

먼저 Reachability 라이브러리를 프로젝트에 설치해야 합니다. CocoaPods를 사용하는 경우, Podfile에 다음과 같이 추가합니다.

pod 'ReachabilitySwift'

그리고 터미널에서 pod install 명령을 실행하여 라이브러리를 설치합니다.

2. Reachability 객체 생성 및 Delegate 설정

Reachability 객체를 생성하고, Delegate를 설정하여 연결 상태 변화를 감지할 수 있도록 합니다.

import Reachability

class ViewController: UIViewController {

    let reachability = try! Reachability()

    override func viewDidLoad() {
        super.viewDidLoad()

        NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged), name: .reachabilityChanged, object: reachability)

        do {
            try reachability.startNotifier()
        } catch {
            print("Unable to start notifier")
        }
    }
    
    @objc func reachabilityChanged(notification: Notification) {
        let reachability = notification.object as! Reachability
        if reachability.connection != .unavailable {
            // 인터넷 연결 가능
            print("인터넷에 연결되었습니다.")
        } else {
            // 인터넷 연결 불가능
            print("인터넷에 연결되지 않았습니다.")
        }
    }
}

3. Delegate 메소드 구현

위의 예제에서 reachabilityChanged 메소드는 Reachability 라이브러리의 Delegate를 통해 호출됩니다. 이 메소드를 통해 인터넷 연결 상태 변화를 처리할 수 있습니다.

결론

Reachability Delegate를 사용하여 iOS 앱에서 인터넷 연결 상태 변화를 처리하는 방법에 대해 알아보았습니다. 이를 통해 앱 사용자에게 정확한 연결 상태 정보를 제공할 수 있습니다.

더 자세한 내용은 ReachabilitySwift 라이브러리의 공식 GitHub 저장소를 참고하시기 바랍니다.