PKPushRegistryDelegate никогда не вызывается

Я получил много результатов, когда я пытался с PKPushRegistryDelegate не звонил но ничего не решил мою проблему. Все предлагают проверить info.plist для фоновых режимов, что хорошо в моем приложении. Я включил VoIP, фоновую выборку, Удаленные уведомления. Создайте сертификат VoIP в учетной записи разработчика Apple. Я написал следующие строки в didFinishLanunchingWithOptions

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

И делегировать методы, как показано ниже

func pushRegistry(_ registry: PKPushRegistry, didUpdate pushCredentials: PKPushCredentials, for type: PKPushType) {
    if let token = String(bytes: pushCredentials.token, encoding: String.Encoding.utf8) {
        print("Push token: \(token)")
    }
}
func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) {
    print("notification received")
    print(payload)
}

func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenFor type: PKPushType) {
    print("Token invalid")
}

Но эти методы делегата никогда не вызываются. Так как сертификат VoIP только на производстве, я попытался с производственным сертификатом и проверил журналы для push-токена, но не нашел. Есть ли способ отладить его с помощью сертификатов разработки? Я что-то здесь упускаю? Пожалуйста посоветуй.

1 ответ

Я столкнулся с той же проблемой в iPhone 6 с версией 11.4. Пробовал с другим устройством iPhone 6+ и все работало нормально. Это может быть проблемой в некоторых устройствах, но нигде в документации Apple это не упоминается.

Пожалуйста, используйте следующий код в didUpdate метод делегата:

func pushRegistry(_ registry: PKPushRegistry, didUpdate pushCredentials: PKPushCredentials, for type: PKPushType) {
        let pushToken = pushCredentials.token.map { String(format: "%02.2hhx", $0) }.joined()
        print("voip token: \(pushToken)")
    }
Другие вопросы по тегам