我已经阅读了关于如何进行非voip呼叫的问题,似乎打开URL是唯一的方法。由于CoreTelephony已被弃用,是否可以使用Callkit在使用打开URL进行呼叫时获取呼叫状态?如果不行,有没有其他编程方式来获取呼叫状态?我正在开发一个内部应用程序。
提前感谢!!
提前感谢!!
要在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")
}
}
}