J'essaie d'intégrer le kit d'appels à mon application VoIP. À ce stade, le CallKit affiche un appel entrant, mais dès que j'appuie sur la touche de réponse, il revient simplement à l'écran d'accueil de mon application. Je veux que l'interface utilisateur d'appel de CallKit s'affiche lorsque j'appuie sur la touche de réponse.
func provider( _ provider: CXProvider, perform action: CXAnswerCallAction) { XCPjsua.shared()?.handleIncomingCall(); // confifureAudioSession() action.fulfill() }
Dans la fonction XCPjsua.shared () ?. handleIncomingCall ();
je viens de connecter l'appel.
3 Réponses :
Dès que vous répondez, l'interface utilisateur de CallKit ne s'affiche que si le téléphone est verrouillé. Si le téléphone est déverrouillé, vous serez redirigé vers votre application, il vous incombe également de mettre en œuvre une interface utilisateur d'appel en cours.
CallKit
offre une meilleure intégration au système et une meilleure visibilité des applications VoIP, mais ils limitent l'utilisation de leurs écrans d'appel. Vous devez fournir vous-même l'interface utilisateur.
Le but principal de l'utilisation de CallKit
dans votre application VoIP est d'améliorer sa convivialité lorsque l'application est tuée et le téléphone est verrouillé. En utilisant CallKit
, le système élève la session audio partagée de votre application VoIP en tant que priorité absolue, afin d'améliorer l'expérience utilisateur. CallKit
est également chargé d'améliorer votre intégration aux services du système, comme l'intégration Bluetooth mains libres, le jeu de voiture, Siri, etc.
Pour les références d'interface utilisateur, vous pouvez vérifier comment Viber, Skype ou WhatsApp affiche leur propre interface utilisateur pour les écrans d'appel. Dans la majorité des cas, seul l'écran d'appel entrant comme écran d'appel du système est fourni par iOS
Il semble que l'écran d'appel se trouve dans le carrousel d'applications des applications d'arrière-plan et peut être activé manuellement