CallKit 集成有问题。我正在创建这样的配置:
let providerConfiguration = CXProviderConfiguration(localizedName: "XXX")
providerConfiguration.supportsVideo = false
providerConfiguration.maximumCallsPerCallGroup = 1
providerConfiguration.supportedHandleTypes = [.phoneNumber]
if let callKitIcon = UIImage(named: "IconMask")
{
providerConfiguration.iconTemplateImageData = callKitIcon.pngData()
}
providerConfiguration.ringtoneSound = "Ringtone.caf"
然后像这样创建提供者:
self.provider = CXProvider(configuration: providerConfiguration)
self.provider.setDelegate(self, queue: nil)
问题是所有这些似乎都被忽略了。自定义铃声不响,IconMask 不显示在 iOS UI 上(它只是一个空白)。IconMask 是正确的,3 个图像是 40、80 和 120 像素,带有 alpha 通道。Ringtone.caf 是捆绑包中复制的有效声音文件。
此 CXProviderConfiguration 中似乎没有任何影响。非常令人沮丧!我在委托函数上被回调:
func providerDidBegin(_ provider: CXProvider)
在那里我可以检查 provider.configuration,一切看起来都是正确的。我究竟做错了什么?
入站呼叫确实有效,我正在与 TwilioVoice 和 VOIP 推送集成。所以只是 UI 没有在配置中获取任何内容。