Attempting to badge the application icon but haven't received permission from the user to badge the application错误解决办法

时间:2023-03-09 04:18:25
Attempting to badge the application icon but haven't received permission from the user to badge the application错误解决办法

今天刚刚学习UIApplication对象,当我希望利用这个对象在我们的应用图标上显示个数字的时候,xcode报了这个错误: Attempting to badge the application icon but haven't received permission from the user to badge the application错误解决办法

解决办法 :

- (IBAction)applicationClicked {

// 在原有的代码基础上添加这两行代码

  UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];

[[UIApplication sharedApplication] registerUserNotificationSettings:settings];

// 获取当前的application 对象

UIApplication *app = [UIApplication sharedApplication];

// 显示为10个

app.applicationIconBadgeNumber = 10;

}

问题产生原因是因为在ios8中,设置应用的application badge value需要得到用户的许可。使用如下方法咨询用户是否许可应用设置application badge value。

但是在编写这个代码之前也应该确保你的程序时运行在ios8的系统内,不然系统如果低于ios8 也是会报错的。