[swift] Reachability를 사용해 Wi-Fi 연결 상태를 감지하는 방법

개요

iOS 앱을 개발할 때, Wi-Fi 연결 상태를 감지하는 것은 중요한 요소 중 하나입니다. Reachability 라이브러리는 네트워크 연결의 가용성을 감지하는 데 도움을 줍니다. 이 블로그 포스트에서는 Swift 언어를 사용하여 Reachability를 통해 Wi-Fi 연결 상태를 감지하는 방법에 대해 알아보겠습니다.

Reachability 라이브러리 사용하기

  1. 먼저, Reachability 라이브러리를 프로젝트에 추가해야 합니다. 다음 명령어를 Podfile에 추가하고, 터미널에서 pod install 명령어를 실행하여 라이브러리를 설치합니다.
    pod 'ReachabilitySwift'
    
  2. Reachability 클래스를 import하고, Reachability 객체를 초기화합니다. ```swift import Reachability

let reachability = try! Reachability()


3. Wi-Fi 연결 상태를 감지하기 위해 Reachability 객체를 시작합니다.
```swift
try! reachability.startNotifier()
  1. Reachability 객체의 변화를 감지하는 Notification을 등록합니다.
    NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged), name: .reachabilityChanged, object: reachability)
    
  2. Reachability의 상태 변화를 처리하는 함수를 구현합니다.
    @objc func reachabilityChanged(notification: Notification) {
     let reachability = notification.object as! Reachability
     if reachability.connection == .wifi {
         print("Wi-Fi 연결됨")
     } else {
         print("Wi-Fi 연결 안됨")
     }
    }
    
  3. 앱이 종료될 때, Reachability 객체를 정리해야 합니다.
    deinit {
     reachability.stopNotifier()
     NotificationCenter.default.removeObserver(self)
    }
    

결론

Reachability를 사용하여 Wi-Fi 연결 상태를 감지하는 방법에 대해 간단하게 알아보았습니다. 이를 활용하여 앱 내에서 네트워크 연결 상태에 따른 동작을 구현할 수 있습니다. Reachability 라이브러리의 다양한 기능을 통해 더욱 다양한 네트워크 관련 기능을 구현할 수도 있습니다.

참고 자료