iOS 10 Callkit 不显示来电 UI
iOS 10 Callkit does not show incoming call UI
我刚刚在我们的 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 无法在 iOS 模拟器中运行,因此您的应用需要 运行 在设备上运行。
此外,我建议将您的应用程序与 Apple 发布的示例代码应用程序 Speakerbox 进行比较,看看您的实施是否有任何遗漏。
我刚刚在我们的 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 无法在 iOS 模拟器中运行,因此您的应用需要 运行 在设备上运行。
此外,我建议将您的应用程序与 Apple 发布的示例代码应用程序 Speakerbox 进行比较,看看您的实施是否有任何遗漏。