推送token在registerForRemoteNotifications后即可获取到,不论用户允许还是拒绝

token长度是可变的,不要写死

推送token是会随时变化的,即使是app在使用中.当推送token变化时,会重新回调application:didRegisterForRemoteNotificationsWithDeviceToken: 方法,你也可以随时手动调用registerForRemoteNotifications方法来快速拿到已有token

没有网络或连接远程APNS失败时,会调用didFailToRegisterForRemoteNotificationsWithError方法

以下情况APNs会重新生成新的device token

  • 用户在新设备重装app(可见生成规则和appleid有关)
  • 用户从备份还原设备
  • 用户重装系统
  • 其他系统事件

苹果官方出于隐私保护,禁止使用token来区分设备.换句话说,理论上是可以使用token来区分设备的.

用户拒绝推送请求后,再次调用registerForRemoteNotifications方法也不会再弹出窗口,所以,谨慎选择弹窗时机.

deviceToken拿到的为32位的data,可以使用[deviceToken description]查看,格式为<e49c54cc 8a13341d f9f67000 bb621456 43b308ad 777bb2e0 a3b27f0b fa323edc>,可以使用以下方法过滤<>空格

    NSString* token = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
    token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];

- 阅读剩余部分 -

博客刚迁来时,在抱怨立下了减肥的flag却一直没有行动。国庆过后终于决定踏实去做走上正轨。对我这种『巨食症』患者来讲,晚上控制食量真的是很痛苦的一件事,常常饿到做梦都在吃东西。当然最开心的就是早上了,眯着眼上完厕所先上秤,看着又下降的体重全是成就感。

- 阅读剩余部分 -