【问题标题】:App icon is not showing in CallKit UI应用程序图标未在 CallKit UI 中显示
【发布时间】:2018-01-16 19:51:42
【问题描述】:

我已经为 CallKit iOS 配置了我的提供程序配置。其中我还设置了 'iconTemplateImageData' 用于在 CallKit UI 中显示应用程序图标。但应用程序图标未显示。它显示一个白色方框。

提供者配置代码:

    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

请帮忙说明为什么我的应用图标没有显示。

提前致谢。

【问题讨论】:

  • 查看这个演示应用程序可能会对您有所帮助:developer.apple.com/library/content/samplecode/Speakerbox/…
  • 我已经看过了。在这里,他们也使用相同的方法在配置中设置 AppIcon。喜欢....... if let iconMaskImage = UIImage(named: "IconMask") { providerConfiguration.iconTemplateImageData = UIImagePNGRepresentation(iconMaskImage) }
  • 打开 var iconTemplateImageData: 数据? // 图片应该是边长为 40 点的正方形
  • 我知道大小应该是 40 磅,正如我上面解释的那样。我还检查了 Apple 在上面提供的链接中使用的是否与我使用的相同。

标签: ios ios10 callkit


【解决方案1】:

这可能是因为您使用的是 AppIcon 图像,该图像是完全不透明的图像,即该图像的任何部分都不透明或 alpha=0。

要获得所需的效果,您必须使用部分(或大部分)透明的不同图像。本机通话 UI 将仅使用您提供的图像的 Alpha 通道,因此它会忽略颜色。我建议按照 Speakerbox 示例应用程序中的示例,并在您的图像资产目录中提供具有透明度的辅助 PNG 图像。

【讨论】:

  • 我编辑了我现有的徽标,使得只有边框可见,其余部分是透明的。最终结果看起来很酷。 Thnx @Stuart M,它对我有用。你的答案应该是被接受的答案。
【解决方案2】:

您需要使用以下代码为传入的 VOIP 呼叫设置应用名称和应用图标

let localizedName = NSLocalizedString("App-Name", comment: "Name of application")
let providerConfiguration = CXProviderConfiguration(localizedName: localizedName)
providerConfiguration.iconTemplateImageData = UIImage.init(named: "appicon-Name")?.pngData()

注意:您的应用图标必须是透明的。结果将如下图所示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    相关资源
    最近更新 更多