2017-03-02 150 views
3

我已经阅读了有关制作非voip电话的问题,看来,打开网址是唯一的方法。由于CoreTelephony已被弃用,可以在打开URL时使用Callkit来获取呼叫状态吗?如果没有,有没有办法通过编程获得调用状态?我正在开发一个内部应用程序。可以使用Callkit与non-voip呼叫来获取ios中的呼叫状态吗?

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

似乎适用于正常呼叫。谢谢! –