【问题标题】:iOS 10 Callkit does not show incoming call UIiOS 10 Callkit 不显示来电 UI
【发布时间】:2016-09-21 09:44:18
【问题描述】:

我刚刚在我们的 VOIP 应用程序中实现了 CallKit,但我正在努力让来电 UI 显示出来。

在我的实验中,我刚刚创建了一个显示来电 UI 的简单方法,如下所示:

CXProviderConfiguration * configuration = [[CXProviderConfiguration alloc] initWithLocalizedName:@"Bitcall"];
CXProvider *callkitProvider = [[CXProvider alloc] initWithConfiguration: configuration];
[callkitProvider setDelegate:self queue:nil];
CXCallUpdate *update = [[CXCallUpdate alloc] init];
update.localizedCallerName = @"Ravadam Patel";
[callkitProvider reportNewIncomingCallWithUUID:[NSUUID UUID]  update:update completion:^(NSError * _Nullable error) {
    if (error) {
        NSLog(@"Error: %@", error);
    }
}];

一切似乎都运行良好,我实际上得到了一个call received 打印出来的代码:

- (void)handleCall
{
  self.callCenter.callEventHandler = ^(CTCall *call){

    if ([call.callState isEqualToString: CTCallStateConnected])
    {
      //NSLog(@"call stopped");
    }
    else if ([call.callState isEqualToString: CTCallStateDialing])
    {
    }
    else if ([call.callState isEqualToString: CTCallStateDisconnected])
    {
      NSLog(@"Call ended");
    }
    else if ([call.callState isEqualToString: CTCallStateIncoming])
    {
      NSLog(@"Call received");
    }
  };
}

但未显示来电 UI。有什么我想念的吗?

谢谢

【问题讨论】:

  • 会不会是 CallKit 在 sim 中不起作用?
  • 你能帮我找到在哪里使用 Objective-c 将 CallKit 集成到 VoIP 应用程序,我搜索了几天,但找不到。但是,如果你有,你能分享一下链接吗?谢谢!
  • CallKit 在 iOS 模拟器中不起作用,以防您在其中进行测试。请尝试在设备上运行。
  • 我建议您将您的应用与 Apple 发布的示例代码应用 Speakerbox 进行比较,看看您的实现中是否缺少任何部分
  • @StuartM 你是对的。代码工作得很好!请添加您的评论作为答案,我会接受。

标签: ios objective-c callkit


【解决方案1】:

CallKit 在 iOS 模拟器中不起作用,因此您的应用需要在设备上运行。

另外,我建议您将您的应用与 Apple 发布的示例代码应用 Speakerbox 进行比较,看看您的实现中是否缺少任何部分。

【讨论】:

  • @Stuart M,你有用于 callkit 示例的 Objective-c 代码吗?
  • @AnilkumariOSdeveloper 很遗憾,没有,但是在 Swift Speakerbox 示例应用程序中展示的所有功能都可以从 Objective C 中获得,只需要翻译
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 1970-01-01
  • 2017-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多