首页 > 解决方案 > 如何远程更新 APNS 设备令牌

问题描述

我的应用程序正在使用远程通知来提醒用户计划的操作。即使在几个月后,用户也可能会收到通知。

应用程序在每次启动时都会更新设备令牌(将接收到的令牌发送到服务器)。

但有一个问题。有时设备令牌变得无效。(后端服务从 APNS 收到错误“无效令牌”)。我知道设备令牌可以更改是正常的。但是有一种情况是用户在几个月后设置了提醒并且在此期间不使用应用程序。

如何在设备令牌过期和应用程序关闭时更新设备令牌?

标签: iosswiftapple-push-notifications

解决方案


每次应用运行时都会调用下面的 AppDelegate 方法,所以每次应用运行时都需要发送 APN 令牌:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let tokenParts = deviceToken.map { data -> String in
            return String(format: "%02.2hhx", data)
        }

        let token = tokenParts.joined()
        print("token :: ", token)
        //TODO:- now you need to send above token to your API that saved this token to user profile


    }

推荐阅读