【问题标题】:iOS: Could not get outgoing call events in CallKitiOS:无法在 CallKit 中获取拨出电话事件
【发布时间】:2017-05-11 12:47:40
【问题描述】:

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

我尝试过使用 CallKit,但没有调用 Delegate 方法。

这是我的代码。

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

    }
}

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

【问题讨论】:

    标签: ios objective-c iphone ios10 callkit


    【解决方案1】:

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

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

    @property (nonatomic, strong) CXCallObserver *callObserver;
    

    viewDidLoad:

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

    现在将调用委托方法。

    干杯!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      相关资源
      最近更新 更多