Я реализовал Sinch
+ PushKit
+ CallKit
, все работает нормально, но есть один скрипт, который работает некорректно. Первый пользователь использует приложение и удаляет его из памяти устройства, второй пользователь звонит в первый раз, первый пользователь не принимает вызов, если второй пользователь сразу звонит во второй раз, первый пользователь принимает вызов (позже первый пользователь также принимает вызов). Если первый пользователь откроет приложение (то есть подключится к системе), первый пользователь больше не получит вызов. Как это исправить?
инициализация клиента sinch
open func setup() {
guard sinch == nil else { return }
guard let userID = UserRealmManager().getUser()?.id else { return }
sinch = Sinch.client(withApplicationKey: key, applicationSecret: secret, environmentHost: host, userId: userID)
sinch?.delegate = self
sinch?.call().delegate = self
sinch?.setSupportCalling(true)
sinch?.enableManagedPushNotifications()
sinch?.setSupportPushNotifications(true)
sinch?.start()
sinch?.startListeningOnActiveConnection()
}
Обновление: Я также обнаружил, что если я перезагружаю iPhone, то звонки через CallKit начинают появляться через 2-4 минуты, я решил протестировать его на известных мессенджерах, таких как What's app и Telegram и у них точно такое же поведение. Конечно, я думаю, что это нужно задать как дополнительный вопрос.
Мои устройства — iPhone 6 и 7.