Я работаю с sinch и использую firebase в качестве базы данных и использую его облачные функции для отправки уведомлений. Отправка уведомлений работает нормально, но функция shouldSendPushNotifications
, но она никогда не вызывается, поэтому я не могу добавить полезную нагрузку sinch к данным уведомлений, и я не смог найти в Интернете ничего хорошего примера, поэтому я отказался от этого и решил отправить объект SINcall
в базу данных, и вызываемый абонент получит его и ответит.
Но проблема в том, что firebase хранит только строки, поэтому, когда я извлекаю сохраненный SINCall, я получаю ошибку Could not cast value of type '__NSCFString' (0x102096998) to '__ObjC.SINCall' (0x10209ab08)
. Так есть ли способ преобразовать это в SINCall, чтобы я мог ответить, отклонить и т. Д. С ним?
EDIT:
здесь у меня есть мой код в AppDelegate.swift
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
print("USERINFO: \(userInfo["sin"]!)") <-- prints call: <SINCallImpl: 0x1c00f2600>
let incomingCall = userInfo["sin"]!
SINClientManager.shared.call = incomingCall as! SINCall <-- Error occurs
...
}