Cómo obtener el número de teléfono de la llamada entrante del usuario en un dispositivo iOS

Utilicé el marco CoreTelephony introducido en iOS SDK 4.0 para conocer la llamada entrante y su estado cancelado.

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)
      }
    }];

¿Puedo usar este controlador de eventos para realizar un seguimiento del estado de las llamadas cuando mi aplicación está en segundo plano? ¿También puedo obtener el número de teléfono de la llamada entrante del objeto CTCall? o hay otra manera alrededor.
No quiero usar la API privada. ¿Hay alguna forma disponible desde el SDK de Apple iOS?

Respuestas a la pregunta(1)

Su respuesta a la pregunta