didReceiveIncomingPushWithPayload Не работает, когда приложение убито - PullRequest
0 голосов
/ 28 августа 2018

Я столкнулся с проблемой в методе didReceiveIncomingPushWithPayload, так как он не срабатывает, когда приложение убивается / завершается. Но отлично работает, когда приложение находится в фоновом режиме.

После исследования я обнаружил, что некоторые люди рекомендуют использовать новую версию, поскольку эта версия уже устарела

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) {

DispatchQueue.main.async(execute: {() -> Void in completion() }) }

Он работает хорошо, но этот метод только для iOS 11+, поэтому он не работает для iOS 9. Есть предложения?

1 Ответ

0 голосов
/ 28 августа 2018

Я так понимаю, и это работает на iOS 10 и 11.

 //available(iOS, introduced: 8.0, deprecated: 11.0)
func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, forType type: PKPushType) {
    pushRegistry(registry, didReceiveIncomingPushWith: payload, for: type) {
        // no-op
    }
}

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

    //your code
    completion()
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...