[swift] CoreTelephony 프레임워크를 이용한 이미 사용 중인 데이터 네트워크 타입 확인 방법

iOS 앱을 개발할 때, 현재 기기가 어떤 데이터 네트워크를 사용하고 있는지 확인해야 하는 경우가 있습니다. CoreTelephony 프레임워크를 이용하면 현재 사용 중인 데이터 네트워크의 타입을 확인할 수 있습니다. 이번 글에서는 Swift를 사용하여 CoreTelephony 프레임워크를 이용해 이미 사용 중인 데이터 네트워크 타입을 확인하는 방법에 대해 알아보겠습니다.

CoreTelephony 프레임워크 추가

먼저 프로젝트에 CoreTelephony 프레임워크를 추가해야 합니다. Xcode에서 프로젝트를 열고, 프로젝트 네비게이터에서 “General” 탭으로 이동합니다. 여기서 “Linked Frameworks and Libraries”를 클릭하고 “+” 버튼을 눌러 CoreTelephony를 추가합니다.

데이터 네트워크 타입 확인

CoreTelephony를 사용하여 현재 기기의 데이터 네트워크 타입을 확인하는 방법은 다음과 같습니다.

import CoreTelephony

let networkInfo = CTTelephonyNetworkInfo()
if let currentRadioAccessTechnology = networkInfo.currentRadioAccessTechnology {
    switch currentRadioAccessTechnology {
    case CTRadioAccessTechnologyGPRS, CTRadioAccessTechnologyEdge, CTRadioAccessTechnologyCDMA1x:
        print("2G 네트워크를 사용 중입니다.")
    case CTRadioAccessTechnologyLTE:
        print("LTE 네트워크를 사용 중입니다.")
    case CTRadioAccessTechnologyWCDMA, CTRadioAccessTechnologyHSDPA, CTRadioAccessTechnologyHSUPA, CTRadioAccessTechnologyCDMAEVDORev0, CTRadioAccessTechnologyCDMAEVDORevA, CTRadioAccessTechnologyCDMAEVDORevB, CTRadioAccessTechnologyeHRPD:
        print("3G 네트워크를 사용 중입니다.")
    case CTRadioAccessTechnologyNR, CTRadioAccessTechnologyNRNSA:
        print("5G 네트워크를 사용 중입니다.")
    default:
        print("다른 네트워크를 사용 중입니다.")
    }
}

위 코드에서 CTTelephonyNetworkInfo의 currentRadioAccessTechnology를 사용하여 현재 데이터 네트워크의 타입을 확인할 수 있습니다. 각 네트워크 타입에 따라 적절한 처리를 할 수 있습니다.

이 방법을 통해 앱 내에서 현재 사용 중인 데이터 네트워크의 타입을 확인하고, 이에 따른 로직을 수행할 수 있습니다.

참고 자료