我收到了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/

10-12 07:17