iOS:无法在 CallKit 中获取传出呼叫事件



我正在使用"telprompt"通过我的应用程序进行调用,但是当调用结束时,我希望显示一个新的视图控制器并点击API以获取数据,所以我想接收一个事件来打开弹出窗口并点击API。

我尝试使用CallKit,但委托方法未被调用。

这是我的代码。

#import <CallKit/CXCallObserver.h>
#import <CallKit/CXCall.h>

我符合 CXCallObserverDelegate

在视图中DidLoad:

CXCallObserver *callObserver = [[CXCallObserver alloc] init];
[callObserver setDelegate:self queue:nil];

委托方法:

- (void)callObserver:(CXCallObserver *)callObserver callChanged:(CXCall *)call {
    if (call.hasConnected) {
        NSLog(@"********** voice call connected **********/n");
    } else if(call.hasEnded) {
        NSLog(@"********** voice call disconnected **********/n");
    }
}

上面的方法没有被调用,如您所见,我已经设置了委托,我不知道我做错了什么。

在为我的控制器创建强引用/属性后,我缺少对 callObserver 对象的强引用,它运行良好。

添加属性并将 callObserver 对象放入其中。

@property (nonatomic, strong) CXCallObserver *callObserver;

viewDidLoad:

CXCallObserver *callObserver = [[CXCallObserver alloc] init];
[callObserver setDelegate:self queue:nil];
_callObserver = callObserver;

现在将调用委托方法。

干杯!!!

最新更新