CTCallCenter已弃用.有什么选择?

MD *_*ari 8 objective-c core-telephony swift ios10 callkit

CTCallCenter在我的项目中使用.现在它被弃用了,我想知道什么是替代品?如何获得语音通话活动?

Max*_*lov 13

这个文档记录很少,但我在CTCallCenter公共头文件中发现了这一点:

"替换为<CallKit/CXCallObserver.h>"

因此,从iOS 10开始,您应该使用CXCallObserverCallKit框架类来检索有关活动调用的信息:

CXCallObserver *callObserver = [[CXCallObserver alloc] init];
Run Code Online (Sandbox Code Playgroud)

提供符合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;
Run Code Online (Sandbox Code Playgroud)

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

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

有关更多信息,您可以检查: