[swift] CoreTelephony를 활용한 데이터 로밍 상태 확인하는 방법

iOS 애플리케이션을 개발하다보면 데이터 로밍 상태를 확인해야 하는 경우가 있습니다. CoreTelephony 프레임워크를 사용하면 현재 네트워크 상태와 데이터 로밍 상태를 확인할 수 있습니다. 이 글에서는 CoreTelephony를 사용하여 데이터 로밍 상태를 확인하는 방법에 대해 알아보겠습니다.

CoreTelephony 프레임워크 추가

CoreTelephony 프레임워크를 프로젝트에 추가합니다. Xcode에서 프로젝트를 열고, 타겟을 선택한 다음 Build Phases로 이동합니다.Link Binary With Libraries를 클릭하고 + 버튼을 눌러 CoreTelephony.framework를 추가합니다.

데이터 로밍 상태 확인

다음으로, 데이터 로밍 상태를 확인하는 방법을 살펴보겠습니다.

import CoreTelephony

let networkInfo = CTTelephonyNetworkInfo()
if let carrier = networkInfo.subscriberCellularProvider {
    if carrier.allowsVoIP {
        print("VoIP가 허용되어 있습니다.")
    }
    
    if carrier.isRoaming {
        print("로밍 중입니다.")
    } else {
        print("로밍 중이 아닙니다.")
    }
}

위의 코드에서, CTTelephonyNetworkInfo를 사용하여 현재 네트워크 정보를 가져올 수 있습니다. subscriberCellularProvider를 통해 현재 통신사 정보를 가져온 후, allowsVoIP 프로퍼티를 통해 VoIP 사용 가능 여부, isRoaming 프로퍼티를 통해 데이터 로밍 상태를 확인할 수 있습니다.

이제 애플리케이션에서 CoreTelephony를 사용하여 데이터 로밍 상태를 확인할 수 있게 되었습니다.

위의 내용은 Apple Developer Documentation를 참고하여 작성하였습니다.