RegisterUserNotificationSettings 是否被调用了两次?
didRegisterUserNotificationSettings Being Called Twice?
我的 iOS 应用一直在接收重复的推送通知。在围绕 Whosebug 进行了一些挖掘之后,我发现问题可能是因为 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.* 版本的 SDK。请确保更新到最新的 2.0.9 版本以解决此问题。
我的 iOS 应用一直在接收重复的推送通知。在围绕 Whosebug 进行了一些挖掘之后,我发现问题可能是因为 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.* 版本的 SDK。请确保更新到最新的 2.0.9 版本以解决此问题。