iOS 10 Callkit不显示传入呼叫UI

时间:2016-09-21 09:44:18

标签: ios objective-c callkit

我刚刚将CallKit应用到我们的VOIP应用程序中,但我正在努力让出局呼叫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。有什么我想念的吗?

由于

1 个答案:

答案 0 :(得分:9)

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

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