Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift检查设备令牌是否已更改_Ios_Swift_Push Notification - Fatal编程技术网

Ios swift检查设备令牌是否已更改

Ios swift检查设备令牌是否已更改,ios,swift,push-notification,Ios,Swift,Push Notification,我的swift 2应用程序可用于推送通知。 我将设备保存到NSUserDefault中 func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) { var deviceTokenString = String(deviceToken) deviceTokenString = S

我的swift 2应用程序可用于推送通知。 我将设备保存到NSUserDefault中

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
            var deviceTokenString = String(deviceToken)
            deviceTokenString = String(deviceTokenString.characters.dropLast())
            deviceTokenString = String(deviceTokenString.characters.dropFirst())
            deviceTokenString = deviceTokenString.stringByReplacingOccurrencesOfString(" ", withString: "")
            defaults.setObject("\(deviceTokenString)", forKey: "DeviceToken")
    }
我想检查(例如在每个应用程序启动时)设备令牌是否已更改

我在哪里以及如何检查这个? 我是否应该每次再次注册设备以检查接收到的令牌,并将其与NSUserDefaults中的令牌进行比较


或者有更好的方法吗?

通常在发送通知的服务器端执行此操作。你可以用客户端的令牌做什么?只有一个问题-你有两个应用程序具有相同的登录名,并且你必须对这两个应用程序使用推送通知吗?我只有一个应用程序具有登录名。我还将设备令牌保存在mysql数据库中。但是什么时候是检查设备令牌是否已更改的最佳时间?我知道我来不及回答这个问题。但对于其他用户来说,这可能是有用的。苹果表示:“设备令牌是您在特定设备上向应用程序发送推送通知的关键。设备令牌可能会发生变化,因此您的应用程序需要在每次启动时重新注册,并将收到的令牌传递回您的服务器。”因此,我们应该每次注册令牌。我们可以进行本地检查,以比较旧令牌和恢复的令牌。如果不同,请将其更新到您的服务器。