[swift] CoreTelephony 프레임워크를 이용한 통화 계정 정보 확인 방법

iOS 앱에서 현재 통화 중인 계정 정보를 가져오기 위해서는 CoreTelephony 프레임워크를 사용할 수 있습니다. 이 프레임워크를 사용하면 현재 통화 중인 계정과 통화 중인 상태를 확인할 수 있습니다.

CoreTelephony 프레임워크 추가

먼저 프로젝트에 CoreTelephony 프레임워크를 추가해야 합니다. Xcode에서 프로젝트를 열고, 프로젝트 네비게이터에서 Build Phases로 이동한 후, Link Binary With Libraries 항목에서 CoreTelephony.framework를 추가합니다.

통화 정보 가져오기

다음은 CoreTelephony를 사용하여 현재 통화 중인 상태를 가져오는 예시 코드입니다.

import CoreTelephony

let telephonyInfo = CTTelephonyNetworkInfo()
if let carrier = telephonyInfo.subscriberCellularProvider {
    print("Carrier Name: \(carrier.carrierName ?? "Unknown")")
} else {
    print("Unable to retrieve carrier information.")
}

위의 예시 코드에서는 CTTelephonyNetworkInfo를 생성한 후, subscriberCellularProvider를 사용하여 현재 통화 중인 이동 통신 사업자의 정보를 가져옵니다. 만약 정보를 가져올 수 없는 경우에는 “Unable to retrieve carrier information.”을 출력합니다.

권한 확인

CoreTelephony를 사용하기 위해서는 privacy - cellular usage description 키를 Info.plist 파일에 추가하여 이동 통신 사업자 정보에 접근하는 권한을 얻어야 합니다.

위의 단계를 따라 하고 나면, 앱에서 현재 통화 중인 이동 통신 사업자 정보를 쉽게 가져와서 활용할 수 있습니다.

더 많은 정보는 CoreTelephony 프레임워크 공식 문서를 참조하시기 바랍니다.