Уведомления VOIP через One-Signal не работают - PullRequest
0 голосов
/ 10 октября 2019

Я встроил VOIP-уведомление с помощью OneSignal в одно из моих приложений для iOS. В первые дни моего развития он работал нормально, но внезапно перестал работать. Я проверил код и не нашел изменений. Я также создал новый пример проекта для проверки проблемы, но не повезло. Я проверил приборную панель доставки сигнала, которая показала, что уведомления получены, но метод ( didReceiveIncomingPushWith ) никогда не вызывается. Пожалуйста, помогите мне с проблемой.

Шаг 1: Разрешение удаленного уведомления

if #available(iOS 10, *) {          
UNUserNotificationCenter.current().requestAuthorization(options: 
[.badge, .alert, .sound]){ granted, error in }
    } else {           
application.registerUserNotificationSettings(
UIUserNotificationSettings(types: [.badge, .sound, .alert], 
categories: nil))
}application.registerForRemoteNotifications()

Шаг 2: Регистрация Pushkit

let pushRegistry = PKPushRegistry(queue: DispatchQueue.main)
pushRegistry.desiredPushTypes = [.voIP]
pushRegistry.delegate = self

Шаг 3: Методы делегирования

func pushRegistry(_ registry: PKPushRegistry, didUpdate pushCredentials: PKPushCredentials, for type: PKPushType) {
    let token = pushCredentials.token.map { String(format: "%02x", $0) }.joined()
    print("VOIP : \(token)")
}

@available(iOS, introduced: 8.0, deprecated: 11.0)
func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType) {
    //self.handlePushPayload(payload)
}

@available(iOS 11.0, *)
func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) {
    //self.handlePushPayload(payload)
    completion()
}
...