CTCallCenter已弃用。有什么选择?

时间:2016-09-19 09:39:54

标签: objective-c swift ios10 core-telephony callkit

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

1 个答案:

答案 0 :(得分:13)

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

  

&#34;替换为<CallKit/CXCallObserver.h>&#34;

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

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

提供符合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;

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

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

有关详细信息,请查看: