我收到了3个内容相同的推送通知。
一开始我想我收到了重复的推送通知。
但是我发现此推送通知是由不同的deviceToken发送的。
当我通过Xcode一次又一次地重新安装应用程序时,可能出现了问题,因此APNS未能成功撤消deviceToken。
我的服务器存储了所有deviceToken和这些deviceToken的推送通知,APNS中有一些deviceToken会指向我的iPhone,因此我收到了很多通知。
如果我是对的,我可以撤销其他deviceToken吗?
还是其他原因造成的?
- (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);
}
最佳答案
重新安装应用程序会自动撤销旧 token 。因此具有唯一绑定ID的App一次不能有多个 token 。
您可能在服务器端遇到问题,这可能正在向该 token 发送多个推送通知,或者可能会将同一 token 链接到多个用户。
关于ios - 我可以撤销deviceToken吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35651841/