didRegisterUserNotificationSettings 被调用了两次?

Posted

技术标签:

【中文标题】didRegisterUserNotificationSettings 被调用了两次?【英文标题】:didRegisterUserNotificationSettings Being Called Twice? 【发布时间】:2016-08-17 19:20:37 【问题描述】:

我的 ios 应用收到重复的推送通知时遇到问题。在对 *** 进行了一些挖掘之后,我发现问题可能是因为 didRegisterUserNotificationSettings 被调用了两次。

所以,我在didRegisterUserNotificationSettings 上设置了一个断点,实际上,每次启动应用都会调用它两次。

问题是,我只调用一次!有人可以在这里帮助我并告诉我为什么委托方法didRegisterUserNotificationSettings 在下面的用例中被调用两次:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

[OneSignal initWithLaunchOptions:launchOptions appId:@"xxxx"];

return true;

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 

    NSString *devToken = [[[[deviceToken description] stringByReplacingOccurrencesOfString:@"<"withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""];

    [[NSUserDefaults standardUserDefaults]setObject:devToken forKey:kUserDeviceTokenKey];
    [[NSUserDefaults standardUserDefaults] synchronize];




- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings

    //firing twice!
    NSLog("check");


【问题讨论】:

【参考方案1】:

您使用的是 1.* 版本的 SDK。请务必更新到最新的2.0.9 版本以解决此问题。

【讨论】:

以上是关于didRegisterUserNotificationSettings 被调用了两次?的主要内容,如果未能解决你的问题,请参考以下文章