我已经为CallKit iOS配置了我的提供商配置。其中我还设置了' iconTemplateImageData '用于在CallKit UI中显示应用程序图标。但是app图标没有显示。它显示一个白色方框。
提供商配置代码:
CXProviderConfiguration *configuration = [[CXProviderConfiguration alloc] initWithLocalizedName:[NSString stringWithFormat:@"%@\n", _title]];
configuration.maximumCallGroups = 1;
configuration.maximumCallsPerCallGroup = 1;
UIImage *callkitIcon = [UIImage imageNamed:@"AppIcon"];
configuration.iconTemplateImageData = UIImagePNGRepresentation(callkitIcon);
_callKitProvider = [[CXProvider alloc] initWithConfiguration:configuration];
[_callKitProvider setDelegate:self queue:nil];
_callKitCallController = [[CXCallController alloc] initWithQueue:dispatch_get_main_queue()];
我在' Images.xcassets '中使用了AppIcon图像。尺码: - 1x: 40 * 40, 2x: 80 * 80, 3x: 120 * 120
请说明为什么我的应用图标没有显示。
提前致谢。
答案 0 :(得分:4)
这可能是因为您正在使用AppIcon图像,这是一个完全不透明的图像,即该图像的任何部分都不透明或alpha = 0。
要获得所需的效果,您必须使用部分(或大部分)透明的不同图像。本机内部调用UI仅使用您提供的图像的Alpha通道,因此它会忽略颜色。我建议您按照Speakerbox示例应用中的示例操作,并在图片资产目录中提供具有透明度的辅助PNG图像。