CallKit: интеграция с iOS - CXProviderConfiguration не работает - PullRequest
0 голосов
/ 22 мая 2019

Возникли проблемы с интеграцией 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 (он просто пустой).IconMask является правильным, и 3 изображения имеют 40, 80 и 120 пикселей с альфа-каналом.Ringtone.caf - это допустимый звуковой файл, скопированный в комплекте.

Ничто в этой конфигурации CXProviderConfiguration не оказывает никакого влияния.Очень расстраивает!Мне перезванивают по функции делегата:

func providerDidBegin(_ provider: CXProvider)

И там я могу проверить файл provider.configuration, и все выглядит правильно.Что я делаю неправильно?

Входящий вызов фактически работает, и я интегрируюсь с TwilioVoice и VOIP push.Так что просто пользовательский интерфейс ничего не принимает в конфигурации.

1 Ответ

0 голосов
/ 21 июня 2019

Можете ли вы проверить, что для мелодии звонка и файла значка для них выбрано targetMembership в FileInspector enter image description here

...