[swift] CoreTelephony 프레임워크의 주요 기능
iOS 애플리케이션에서 통화 및 데이터 네트워크 관련 이벤트를 처리하고 싶다면 CoreTelephony 프레임워크를 사용할 수 있습니다. 이 프레임워크는 전화 통화 중, 데이터 연결 및 네트워크 변화 등의 이벤트를 모니터링하고 처리할 수 있는 API를 제공합니다.
주요 기능
1. CTTelephonyNetworkInfo
CTTelephonyNetworkInfo는 현재 네트워크 및 이동 통신사 정보를 제공합니다. 아래의 코드와 같이 현재 통신사의 이름 및 국제 모바일 구독 식별자 (IMSI) 등을 확인할 수 있습니다.
import CoreTelephony
let networkInfo = CTTelephonyNetworkInfo()
if let carrier = networkInfo.subscriberCellularProvider {
let carrierName = carrier.carrierName
let IMSI = carrier.mobileNetworkCode + carrier.mobileCountryCode
// 이후 처리
}
2. CTCallCenter
CTCallCenter를 사용하면 애플리케이션 내부에서 전화 통화 상태를 관리할 수 있습니다. 아래의 코드는 전화 수신 시 동작하는 간단한 예제입니다.
import CoreTelephony
let callCenter = CTCallCenter()
callCenter.callEventHandler = { call in
if call.callState == .connected {
print("전화 연결됨")
} else if call.callState == .disconnected {
print("전화 종료됨")
}
}
3. CTRadioAccessTechnology
CTRadioAccessTechnology를 이용하여 현재 데이터 네트워크의 기술과 속도 등의 정보를 확인할 수 있습니다.
import CoreTelephony
let networkInfo = CTTelephonyNetworkInfo()
if let currentRadioAccessTechnology = networkInfo.currentRadioAccessTechnology {
// 현재 데이터 네트워크의 정보 확인
}
CoreTelephony 프레임워크를 사용하면 통신과 관련된 다양한 정보를 수집하고 제어하는 기능을 제공받을 수 있습니다.
더 많은 세부 정보는 Apple 공식 문서를 확인하시기 바랍니다.