Estoy tratando de integrar callkit con mi aplicación voip. En este punto, CallKit muestra una llamada entrante, pero tan pronto como presiono la tecla de respuesta, vuelve a la pantalla de inicio de mi aplicación. Quiero que se muestre la interfaz de usuario de llamada de CallKit cuando presione la tecla de respuesta.
func provider( _ provider: CXProvider, perform action: CXAnswerCallAction) { XCPjsua.shared()?.handleIncomingCall(); // confifureAudioSession() action.fulfill() } En XCPjsua.shared()?.handleIncomingCall(); función Acabo de conectar la llamada.
CallKit brinda una mejor integración al sistema y una mejor visibilidad de la aplicación VoIP, pero limitan el uso de sus pantallas de llamadas. Debe proporcionar la IU de llamada usted mismo.
El objetivo principal de usar CallKit en su aplicación VoIP es mejorar su usabilidad cuando la aplicación se cierra y el teléfono está bloqueado. Al usar CallKit , el sistema eleva la sesión de audio compartida de su aplicación de VoIP como la máxima prioridad para mejorar la experiencia del usuario. CallKit también es responsable de mejorar su integración con los servicios del sistema, como la integración de manos libres con bluetooth, car play, Siri, etc.
Tan pronto como responda, la interfaz de usuario de CallKit se muestra solo si el teléfono está bloqueado. Si el teléfono está desbloqueado, será redirigido a su aplicación, por lo que es su responsabilidad implementar una interfaz de usuario de llamadas en curso.
Parece que la pantalla de llamada entrante está en el carrusel de aplicaciones de aplicaciones en segundo plano y se puede cambiar manualmente