【发布时间】: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