【发布时间】:2017-07-24 15:28:05
【问题描述】:
我有一个与 callkit 集成的应用程序,在呼叫被拒绝或呼叫失败后,本机 callkit ui 会弹出并显示一个回调按钮,但是当按下 performStartCallAction 回调时,它永远不会被触发。似乎有人发布了同样的问题,但似乎还没有解决方案。
【问题讨论】:
我有一个与 callkit 集成的应用程序,在呼叫被拒绝或呼叫失败后,本机 callkit ui 会弹出并显示一个回调按钮,但是当按下 performStartCallAction 回调时,它永远不会被触发。似乎有人发布了同样的问题,但似乎还没有解决方案。
【问题讨论】:
你误会performStartCallAction:。调用该方法的唯一方法是,如果您的应用程序创建了一个 CXStartCallAction 对象,然后在 CXCallController 上调用 requestTransaction: 以请求具有此操作的事务。只有您的应用可以通过显式请求来发起启动调用;您的应用程序之外的任何事情都无法做到。
当用户尝试从应用程序外部通过您的应用程序“拨打电话”时,例如通过在“电话”应用程序中按“最近通话”中的过去通话,或在“通讯录”应用程序中按对联系人的呼叫,通过按“音频通话中的视频”按钮,或者(我认为)执行“回拨”,通知您的应用程序的方式是在您的应用程序委托的-application:continueUserActivity:restorationHandler: 方法中发送INStartAudioCallIntent 或INStartVideoCallIntent。您的应用程序如何处理这完全取决于您;它什么都不做,它可以发起一个新的 CallKit 调用(给相同或不同的联系人),或者它可以在你的应用程序界面中做其他事情;随心所欲。
【讨论】: