2017-03-02 51 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

似乎適用於正常呼叫。謝謝! –