• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - CXProviderDelegate 方法没有被触发

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:18:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试将 CallKit 集成到我的 Voip 应用程序中。我引用了 Apple WWDC 中的 SpeakerBox 示例代码。我创建了一个 ProviderDelegate 类,在调用 reportNewIncomingCall 方法后我可以看到来电 UI。

但是当我点击“回答”/“结束”按钮时,相应的提供者代表不会被解雇。这里有什么问题?

请注意,当我实例化 CallProviderDelegate 时会调用“providerDidBegin”。

@implementation CallProviderDelegate

- (instancetype)init
{
    self = [super init];
    if (self) {
        _providerConfiguration = [self getProviderConfiguration];
        _provider = [[CXProvider alloc] initWithConfiguration:_providerConfiguration];
        [_provider setDelegate:self queue:nil];
    }
    return self;
}

- (void)providerDidBeginCXProvider *)provider {
   // this is getting called
}

- (void)providerCXProvider *)provider performAnswerCallActionCXAnswerCallAction *)action {
  // this is not getting called when the Answer button is pressed
}

- (void)reportNewIncomingCallWithUUIDnonnull NSUUID *)UUID handlenonnull NSString *)handle
                           completionnullable void (^)(NSError *_Nullable error))completion {

    CXCallUpdate *update = [[CXCallUpdate alloc] init];
    update.remoteHandle = [[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:handle];
    update.hasVideo = NO;

    [_provider reportNewIncomingCallWithUUID:UUID update:update completion:^(NSError * _Nullable error) {
        completion(error);
    }]; 
}

在调用者类中:

CallProviderDelegate *providerDelegate = [[CallProviderDelegate alloc] init];
[providerDelegate reportNewIncomingCallWithUUID:[NSUUID UUID] handle"Raj" completion:^(NSError * _Nullable error) {
            //
 }];



Best Answer-推荐答案


在您的“调用者”类中,即您在其中实例化 CallProviderDelegate 类并将其分配给 providerDelegate 变量的代码中,您是否存储了 providerDelegate 实例变量或属性中的对象引用?如果只是分配给一个临时的局部变量,那么CallProviderDelegate对象将在调用方法执行完毕后被释放,如果CallProviderDelegate对象被释放则不再CXProvider 委托(delegate)消息将被传递。

我会先检查您的 CallProviderDelegate 对象是否被意外释放。

关于ios - CXProviderDelegate 方法没有被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39845522/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap