所使用Push的版本号:
JPUSH_VERSION_NUMBER 3.0.2
问题描述:
在使用JPush
推送时,推送出去一条消息,而客户端通知栏中却收到两条相同的消息,并且同通知栏点击任意一条消息,在控制台都能打印出来。问题定位于:重复推送
。
首先通过服务端的跟踪配合,确定Push
操作只执行了一次,那么问题可能出现在客户端。客户端在AppDelegate
中的操作大体归类为:注册推送、回调函数。
最终问题的原因找到了:Register
注册方法被执行了两次,即重复注册的问题。
解决方法:
JPush不需要实现以下代码,否则会造成一条推送响两次的情况,注释掉就可解决
// iOS8 下需要使用新的 API (JPush不需要实现以下代码,否则会造成一条推送响两次的情况‘)
/*
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
UIUserNotificationType myTypes = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:myTypes categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}else {
UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound;
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes];
}
*/