[IOS] Reachability 라이브러리 - Wi-Fi에 연결되어 있지만 인터넷에 연결되지 않은 상태를 감지

Reachability 라이브러리를 사용하여 Wi-Fi에 연결되어 있지만 인터넷에 연결되지 않은 상태를 감지할 수 있습니다. Reachability는 네트워크 연결 상태 자체를 확인하기 때문에 실제로 인터넷에 액세스할 수 있는지 여부를 확인할 수 있습니다.

다음은 인터넷 연결 여부를 확인하는 코드 예시입니다:

let reachability = try? Reachability()

reachability?.whenReachable = { reachability in
    if reachability.connection == .wifi {
        if reachability.isReachableViaWiFi() {
            print("Wi-Fi에 연결되었습니다.")
            if reachability.isReachable() {
                print("인터넷에 연결되었습니다.")
            } else {
                print("인터넷에 연결되어 있지 않습니다.")
            }
        }
    } else {
        print("셀룰러 네트워크에 연결되었습니다.")
        if reachability.isReachable() {
            print("인터넷에 연결되었습니다.")
        } else {
            print("인터넷에 연결되어 있지 않습니다.")
        }
    }
}

reachability?.whenUnreachable = { _ in
    print("인터넷에 연결되어 있지 않습니다.")
}

do {
    try reachability?.startNotifier()
} catch {
    print("Reachability를 시작할 수 없습니다.")
}

위의 코드에서, isReachable() 함수를 사용하여 인터넷에 연결되어 있는지 여부를 확인합니다. 따라서 Wi-Fi에 연결되어 있지만 실제로 인터넷에 연결되지 않은 상태를 감지할 수 있습니다.