【www.bbyears.com--ios】
在iOS8中调用-[UIApplication setApplicationIconBadgeNumber:]会出现如下没有权限的提示:
Attempting to badge the application icon but haven’t received permission from the user to badge the application
问题分析:
用如下方法注册通知权限后,App会弹出一个框进行确认。在确认之前或者被否决,都是没有权限设置红点的。
代码如下 UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
iOS8中新增了通知授权后的回调:
代码如下 – (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings问题解决:
把所有
代码如下 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中的-[UIApplication setApplicationIconBadgeNumber:]移到
代码如下 – (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings回调中