2016-11-14 32 views
2

在iOS 10之前,我們可以使用[[self.call callState] isEqualToString:@"CTCallStateIncoming"]來檢測來電。在IOS10 callState中已棄用替換爲CallKit/CXCall.h屬性。但是在CallKit中沒有像「傳入」這樣的狀態,他們提出了「傳出」,「保持」,「已連接」,「已結束」狀態。 我需要傳入或模擬。到目前爲止的任何解決方法?謝謝你的任何建議。iOS 10中的CTCallStateIncoming的模擬是什麼?

+1

您可以將最終的結果作爲「傳入」。因爲您可以觀察除傳入以外的所有其他呼叫狀態。 –

+0

我可以嘗試,但不要認爲這將是一致的。不管怎樣,謝謝你。 –

+0

此解決方案不起作用。 –

回答

0

您應該能夠使用CallKit的CXCallObserverCXCall API,並且使用以下條件,以檢測當給定CXCall是呼入(!isOutgoing),尚未得到答覆(!hasConnected),並沒有結束(!hasEnded):

!cxCall.isOutgoing && !cxCall.hasConnected && !cxCall.hasEnded 
+1

謝謝,它可能工作,但call.onHold狀態如何?所以充分的表達應該說((!call.isOutgoing)&&(!call.hasConnected)&&(!call.hasEnded)&&(!call.onHold))。你看到它有多不穩定?我的觀點是我們需要直接表達,而不是負面組合。 –