我在使用我的ios应用程序的计划本地通知设置图标徽章时遇到了一些困难。
我在加载应用程序后单击主屏幕10秒后会弹出本地通知。但是,应用程序图标徽章编号未设置。我使用以下代码。
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil) return;
NSDate *fireTime = [[NSDate date] addTimeInterval:10]; // adds 10 secs
localNotif.fireDate = fireTime;
localNotif.alertBody = @"New Message!";
localNotif.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
我不明白为什么会弹出本地通知但是applicationIconBadgeNumber没有设置。我可以通过执行以下代码手动设置图标徽章编号。
[UIApplication sharedApplication].applicationIconBadgeNumber = 1;
答案 0 :(得分:3)
你在模拟器中调试吗?模拟器上的问题相同但你的代码在我的iPhone上工作正常。
答案 1 :(得分:3)
您是否在申请所有徽章通知类型?
[[UIApplication sharedApplication]registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge];
另外,请检查您的通知设置是否已禁用徽章。
答案 2 :(得分:2)
以下是Swift中iOS 8+的代码......
let notificationSettings = UIUserNotificationSettings(forTypes: [UIUserNotificationType.Alert , UIUserNotificationType.Badge, UIUserNotificationType.Sound], categories: nil)
application.registerUserNotificationSettings(notificationSettings)