[swift] Reachability와 네트워크 경고 표시하기
앱을 개발할 때, 사용자가 인터넷에 연결되어 있는지 확인하고, 연결이 끊어지면 알려주는 기능이 필요할 수 있습니다. 이를 위해 Reachability 클래스를 사용하여 네트워크 상태를 감지하고, 적절한 경고 메시지를 표시할 수 있습니다.
Reachability 클래스 사용하기
Reachability 클래스는 스위프트의 네트워크 감지를 위한 라이브러리입니다. 먼저 Reachability 클래스를 프로젝트에 추가해야 합니다.
- Reachability 라이브러리를 다운로드하고 프로젝트에 추가합니다. 일반적으로는 CocoaPods를 사용하여 설치할 수 있습니다. Podfile에 다음과 같이 추가합니다:
pod 'ReachabilitySwift'
- Terminal에서 프로젝트의 폴더로 이동한 후, 다음 명령어를 실행하여 라이브러리를 설치합니다:
pod install
- Reachability 라이브러리를 import합니다:
import Reachability
네트워크 상태 확인하기
Reachability 객체를 생성하고, 네트워크 변화를 감지할 수 있습니다. 아래는 네트워크를 감지하는 코드 예시입니다:
let reachability = try! Reachability()
reachability.whenReachable = { _ in
print("네트워크 연결됨")
// 네트워크 연결되었을 때 수행할 동작
}
reachability.whenUnreachable = { _ in
print("네트워크 연결 끊어짐")
// 네트워크 연결이 끊어졌을 때 수행할 동작
}
do {
try reachability.startNotifier()
} catch {
print("네트워크 감지 실패")
}
네트워크 경고 표시하기
네트워크 연결이 끊어졌을 때, 앱 사용자에게 경고 메시지를 표시하는 것이 좋습니다. 다음은 경고창을 표시하는 코드 예시입니다:
func showNetworkAlert() {
let alert = UIAlertController(title: "네트워크 연결 안됨", message: "인터넷 연결을 확인해주세요.", preferredStyle: .alert)
let okAction = UIAlertAction(title: "확인", style: .default, handler: nil)
alert.addAction(okAction)
present(alert, animated: true, completion: nil)
}
reachability.whenUnreachable = { _ in
print("네트워크 연결 끊어짐")
showNetworkAlert()
}