9

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

4

1 回答 1

15

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

“替换为<CallKit/CXCallObserver.h>

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

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
    }
}

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

于 2016-10-07T07:07:15.200 回答