Как получить номер входящего звонка пользователя на устройстве iOS
Я использовал CoreTelephony Framework, представленный в iOS SDK 4.0, чтобы узнать о входящих вызовах и это упавшее состояние.
CTTelephonyNetworkInfo *tni = [[CTTelephonyNetworkInfo alloc] init];
callCenter = [[CTCallCenter alloc] init];
crtCarrierName = tni.subscriberCellularProvider.carrierName;
[callCenter setCallEventHandler:^(CTCall *call) {
if ([[call callState] isEqual:CTCallStateConnected]) {
//this call has just connected
} else if ([[call callState] isEqual:CTCallStateDisconnected]) {
//this call has just ended (dropped/hung up/etc)
}
}];
Могу ли я использовать этот обработчик событий для отслеживания состояния вызова, когда мое приложение находится в фоновом режиме? Могу ли я также получить номер телефона входящего вызова от объекта CTCall? или есть какой-то другой путь вокруг.
Я не хочу использовать Private API. Есть ли способ, доступный в Apple iOS SDK?