iOS 10中CTCallStateIncoming的模拟是什么?

iOS 10中CTCallStateIncoming的模拟是什么?,ios,cocoa-touch,ios10,core-telephony,callkit,Ios,Cocoa Touch,Ios10,Core Telephony,Callkit,在iOS 10之前,我们可以使用[[self.callState]isEqualToString:@“CTCallStateIncoming”]来检测传入呼叫。在IOS10中,callState已弃用,并由CallKit/CXCall.h属性替换。但是CallKit中没有“传入”这样的状态,他们会出现“传出”、“保留”、“已连接”、“已结束”等状态我需要输入或模拟。到目前为止有什么解决办法吗?谢谢您的建议。您应该能够使用CallKit的CXCallObserver和CXCallAPI,并使用以下

在iOS 10之前,我们可以使用
[[self.callState]isEqualToString:@“CTCallStateIncoming”]
来检测传入呼叫。在IOS10中,callState已弃用,并由CallKit/CXCall.h属性替换。但是CallKit中没有“传入”这样的状态,他们会出现“传出”、“保留”、“已连接”、“已结束”等状态我需要输入或模拟。到目前为止有什么解决办法吗?谢谢您的建议。

您应该能够使用CallKit的
CXCallObserver
CXCall
API,并使用以下条件来检测给定的
CXCall
何时传入(
!isooutgo
),何时尚未应答(
!hasConnect
),何时尚未结束(
!hasEnded
):


您可以将最终结果设置为“传入”。因为你可以观察除来电外的所有其他通话状态。我可以尝试,但我认为这不会是一致的。无论如何,谢谢。此解决方案不起作用。谢谢,它可能会起作用,但call.onHold状态如何?所以完整表达式应该是(!call.isooutgong)&&(!call.hasconnect)&(!call.haseend)&&(!call.onHold))。你看到它有多不稳定了吗?我的观点是我们需要直接的表达,而不是消极的表达。
!cxCall.isOutgoing && !cxCall.hasConnected && !cxCall.hasEnded