一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

iOS8中设置App红点提示没有权限的问题

时间:2014-12-03 编辑:简简单单 来源:一聚教程网

在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

回调中

热门栏目