CTCallCenter 已弃用。有什么选择?

CTCallCenter is deprecated. What is the alternative?

我在我的项目中使用 CTCallCenter。现在它已被弃用,我想知道有什么替代方案?如何获取语音通话的事件?

这没有很好的记录,但我在 CTCallCenter public 头文件中发现了这一点:

"Replaced by <CallKit/CXCallObserver.h>"

因此,从 iOS 10 开始,您应该使用 CXCallObserver class of new CallKit 框架来检索有关活动呼叫的信息:

CXCallObserver *callObserver = [[CXCallObserver alloc] init];

提供object,符合CXCallObserverDelegate协议和队列,你想在其上执行委托回调:

// If queue is nil, then callbacks will be performed on main queue
[callObserver setDelegate:self queue:nil];
// Don't forget to store reference to callObserver, to prevent it from being released
self.callObserver = callObserver;

并在您的委托上实现以下方法 object:

- (void)callObserver:(CXCallObserver *)callObserver callChanged:(CXCall *)call {
    if (call.hasConnected) {
        // perform necessary actions
    }
}

更多信息,您可以查看: