我收到了3个推送通知,内容相同。 一开始我觉得我收到了重复推送通知。
但我发现这个推送通知是由不同的deviceToken发送的。
当我通过Xcode一次又一次地重新安装app时可能出错了,所以APNS没有成功撤销deviceToken。
我的服务器存储了所有deviceTokens并通过这些deviceTokens推送通知,并且APNS中有一些deviceTokens将指向我的iPhone,所以我收到了很多通知。
如果我是对的,我可以撤销其他设备吗? 还是由其他原因造成的?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
// Register for Push Notitications, if running iOS 8
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert |
UIUserNotificationTypeBadge |
UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
} else {
// Register for Push Notifications before iOS 8
[application registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeSound)];
}
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
//send deviceToken to server
NSLog(@"Token is: %@", deviceToken);
}
答案 0 :(得分:0)
重新安装应用程序会自动撤消旧令牌。因此,具有唯一捆绑ID的应用程序一次不能有多个令牌。
您可能在服务器端遇到问题,可能会向此令牌发送多个推送通知,或者可能会将同一令牌与多个用户相关联。