2016-11-14 9 views
2

iOS 10より前には、[[self.call callState] isEqualToString:@"CTCallStateIncoming"]を使用して着信を検出できます。 IOS10ではcallStateは廃止され、はCallKit/CXCall.hプロパティーに置き換えられました。しかし、CallKitに "Incoming"のようなステータスはなく、 "発信"、 "onHold"、 "hasConnected"、 "hasEnded"のステータスが出てきました。 私は着信またはアナログが必要です。これまでの回避策はありますか?ご意見ありがとうございます。iOS 10のCTCallStateIncomingのアナログとは何ですか?

+1

最後のelse結果を「受信」とすることができます。着信以外のすべての通話状態を監視できるためです。 –

+0

私は試してみることができますが、これは一貫しているとは思わない。とにかくありがとうございました。 –

+0

この解決方法は機能しません。 –

答えて

0

与えCXCallは(!isOutgoing)を受信して​​いるときには、まだ(!hasConnected)を回答していない、と(!hasEnded)を終了していない検出するCallKitのCXCallObserverCXCall APIを使用して、次の条件を使用することができるはずです。

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

ありがとう、それは動作するかもしれませんが、call.onHoldステータスはどうですか?したがって、完全な式は((!call.isOutgoing)&&(!call.hasConnected)&&(!call.hasEnded)&&(!call.onHold))となります。そしてそれがいかに不安定であるかを見ますか?私の主張は、否定的な表現の組み合わせではなく、直接的な表現が必要であるということです。 –

関連する問題