[swift] CoreTelephony 프레임워크를 사용하여 이동 통신 연결 유형 확인 방법

iOS 애플리케이션을 개발 중에 현재 기기가 어떤 이동 통신 연결 유형인지 (3G, 4G, 5G 등) 확인해야 하는 경우가 있습니다. CoreTelephony 프레임워크를 사용하면 현재 이동 통신 연결 유형을 확인할 수 있습니다. 이를 위해 다음과 같은 단계를 따를 수 있습니다.

CoreTelephony 프레임워크 추가

먼저, Xcode 프로젝트에 CoreTelephony 프레임워크를 추가해야 합니다. 프로젝트 내비게이터에서 프로젝트 파일을 선택하고, “General” 탭에 있는 “Frameworks, Libraries, and Embedded Content” 섹션으로 이동합니다. 여기서 “+” 버튼을 클릭하고 CoreTelephony를 추가합니다.

코드 구현

다음으로, Swift 코드를 사용하여 CoreTelephony 프레임워크를 통해 이동 통신 연결 유형을 확인할 수 있습니다. 아래는 이를 수행하는 간단한 예제 코드입니다.

import CoreTelephony

func getCellularConnectionType() -> String {
    let networkInfo = CTTelephonyNetworkInfo()
    if let currentRadioTech = networkInfo.serviceCurrentRadioAccessTechnology {
        if currentRadioTech.keys.contains(CTRadioAccessTechnologyLTE) {
            return "LTE"
        } else if currentRadioTech.keys.contains(CTRadioAccessTechnologyWCDMA) {
            return "3G"
        } else if currentRadioTech.keys.contains(CTRadioAccessTechnologyEdge) {
            return "2G"
        } else if currentRadioTech.keys.contains(CTRadioAccessTechnologyNR) {
            return "5G"
        } else {
            return "Unknown"
        }
    }
    return "Unknown"
}

let cellularConnectionType = getCellularConnectionType()
print("Current cellular connection type: \(cellularConnectionType)")

위 예제 코드에서는 CTTelephonyNetworkInfo 클래스를 사용하여 현재 이동 통신 연결 유형을 가져오고, 이에 따라 적절한 문자열을 반환하도록 구현되었습니다.

요약

CoreTelephony 프레임워크를 사용하여 iOS 애플리케이션에서 현재 이동 통신 연결 유형을 확인하는 방법에 대해 알아보았습니다. 이를 통해 애플리케이션에서 현재 네트워크 상태를 파악하고, 이에 따라 필요한 조치를 취할 수 있습니다.