我正在使用 CTCallCenter
在我的项目中。现在它已被弃用,我想知道有什么替代方案?如何获取语音通话的事件?
最佳答案
这没有很好的记录,但我在 CTCallCenter
中发现了这一点公共(public)头文件:
"Replaced by
<CallKit/CXCallObserver.h>
"
因此,从 iOS 10 开始,您应该使用 CXCallObserver
新类 CallKit
检索有关事件调用的信息的框架:
CXCallObserver *callObserver = [[CXCallObserver alloc] init];
提供对象,符合 CXCallObserverDelegate
协议(protocol)和队列,您要在其上执行委托(delegate)回调:
// 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;
并在您的委托(delegate)对象上实现以下方法:
- (void)callObserver:(CXCallObserver *)callObserver callChanged:(CXCall *)call {
if (call.hasConnected) {
// perform necessary actions
}
}
更多信息,您可以查看:
- Enhancing VoIP Apps with CallKit来自 WWDC 2016 的 session
- Speakerbox示例项目
关于objective-c - CTCallCenter 已弃用。有什么选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39569937/