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

iOS: Could not get outgoing call events in CallKit

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

我试过使用 CallKit,但是委托方法没有被调用。

这是我的代码。

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

我已经符合 CXCallObserverDelegate

在 viewDidLoad 中:

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");

    }
}

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

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

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

@property (nonatomic, strong) CXCallObserver *callObserver;

viewDidLoad:

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

现在将调用委托方法。

干杯!!!