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是正确的,带有Alpha通道的3张图像分别是40、80和120像素。 Ringtone.caf是复制到捆绑软件中的有效声音文件。
此CXProviderConfiguration中的内容似乎没有任何影响。非常令人沮丧!我在委托函数上被调用:
func providerDidBegin(_ provider: CXProvider)
然后我可以检查provider.configuration,这一切看起来都是正确的。 我究竟做错了什么?
入站呼叫实际上有效,并且我正在与TwilioVoice和VOIP push集成。因此,仅UI不会在配置中占用任何内容。