是否可以在iOS模拟器中使用CallKit接收呼叫



在iOS中,可以使用CallKit的reportIncomingCall显示来电ui。

在我的情况下,这在物理设备中起到了预期的作用。我的iPhone收到来电提醒,我可以接受电话,也可以拒绝电话。

然而,它似乎在iOS模拟器中不起作用。更具体地说,reportNewIncomingCall方法调用本身成功,但随后它立即结束(我甚至看不到任何调用警报(。此外,从CXProviderDelegate调用func provider(_ provider: CXProvider, perform action: CXEndCallAction),这意味着调用已经结束。

我在苹果官方文档中找不到是否可以在iOS模拟器中测试CallKit-reportIncomingCall。

奇怪的是,reportOutgoingCallCXCallController的呼出在模拟器中似乎工作得很好,因为当CXStartCallAction完成时,我可以看到iPhone顶部显示绿色状态栏。

所以,我唯一无法工作的是在iOS模拟器中使用CallKit接听电话。这是预期的行为吗?

CallKit在iOS模拟器上完全不起作用,既不接电话也不打电话。在模拟器上启动任何包含CXStartCallActionCXAnswerCallActionCXTransaction将立即失败,NSError.Code值为CXErrorCodeRequestTransactionErrorUnknown(零(。您必须使用真实的设备来测试您的CallKit应用程序。

是的,我在任何苹果文档中都找不到提到这一点。在这篇提到模拟器和真实设备之间差异的文章中,没有提到CallKit。

还要注意,模拟器没有呼叫UI(拨号盘和最近的呼叫(

最新更新