2017-03-02 12 views
3

나는 비 -Voip-Call을 만드는 것에 관한 질문을 읽었으며 열린 URL 만 그것을 할 수있는 유일한 방법이라고 보인다. CoreTelephony가 더 이상 사용되지 않으므로 열려있는 URL로 전화를 걸 때 Callkit을 사용하여 통화 상태를 가져올 수 있습니까? 그렇지 않다면 호출 상태를 프로그래밍 방식으로 얻는 방법이 있습니까? 나는 사내 app을 개발 중이다.ios에서 통화 상태를 가져 오기 위해 비 -Voip 통화와 함께 Callkit을 사용할 수 있습니까?

How can CallKit be used to make a non-voip call?

미리 감사드립니다!

+1

해결 방법이 있습니까? 또한 "정상적인"호출이 시작되거나 끝날 때 콜백을받을 수 있는지 궁금합니다. – Jan

답변

5

CallKit에서 통화 상태를 가져 오려면. 앱에서 CXCallObserver를 사용할 수 있습니다.

import CallKit 

final class ProviderDelegate: NSObject, CXCallObserverDelegate { 
var callObserver: CXCallObserver! 

func setupCallObserver(){ 
callObserver = CXCallObserver() 
callObserver.setDelegate(self, queue: nil) 
} 

func callObserver(_ callObserver: CXCallObserver, callChanged call: CXCall) { 
     if call.hasEnded == true { 
      print("CXCallState :Disconnected") 
     } 
     if call.isOutgoing == true && call.hasConnected == false { 
      print("CXCallState :Dialing") 
     } 
     if call.isOutgoing == false && call.hasConnected == false && call.hasEnded == false { 
      print("CXCallState :Incoming") 
     } 

     if call.hasConnected == true && call.hasEnded == false { 
      print("CXCallState : Connected") 
     } 
    } 
} 
+0

정상적인 통화를 할 수 있습니다. 감사! –