【发布时间】:2015-01-20 10:22:43
【问题描述】:
在我的应用程序中,我需要在应用程序图标上设置徽章并为此徽章设置数字。问题是我需要像这样注册用户通知设置:
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)])
{
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]];
}
为了让它在 iOS8 上运行。如果我运行此代码,则在启动系统时会向用户显示警报,内容如下:ApplicationName would like to send you notifications. Notifications may include bla la bla。这是标准的,我相信你已经看过很多次了。仅仅因为我注册了通知设置,系统就认为我的应用会发布一些通知。但事实并非如此!我不想发布通知。我想做的就是在图标上设置徽章,在这个徽章上设置一个数字。是否有可能在不注册用户通知或注册但不显示系统警报的情况下在 iOS 8 上实现这一点?有什么想法吗,伙计们?
【问题讨论】:
-
这是权限的一部分。如果你想设置徽章,你需要请求用户允许这样做。没有解决方法。
-
我听到你的声音。不幸的是,用户现在必须看到与完整的推送通知请求相同的“可怕”通知权限请求,只是为了更新徽章计数。您不妨只实施推送通知,以便将来可以选择发送不同类型的通知。您的用户将看到相同的请求。责怪你之前滥用通知的所有程序员。 :)
标签: ios cocoa-touch ios8 notifications badge