当我的应用程序在通知中心时,如何才能看到UIRemoteNotificationTypeNone?

时间:2012-08-21 19:36:01

标签: ios notifications uilocalnotification nsnotificationcenter

我有一位iOS 5.1.1用户报告我的应用程序不允许他设置通知,即使他已将其放入通知中心。他给我发了一个屏幕截图,显示他显然已将其放入通知中心。但是如果应用程序不允许他设置通知,那是因为这段代码带有notificationIssue == YES回来了:

BOOL notificationIssue = NO;
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types == UIRemoteNotificationTypeNone) notificationIssue = YES;

我当然无法访问他的设备,所以我无法进一步调查自己,但我想知道是否有人有任何想法应用程序如何明确地在通知中心,徽章,声音和警报已启用,但仍未通过此测试?

我无法重现这一点,我也没有从别人那里听说过这个问题。

2 个答案:

答案 0 :(得分:1)

enabledRemoteNotificationTypes仅引用“设置 - >通知”中的“提醒方式”部分。

如果您将其设置为“无”并将所有内容保持打开状态,您仍会获得UIRemoteNotificationTypeNone,而notificationIssue将是YES。出于同样的原因,用户可以禁用通知并将“提醒样式”设置为横幅,并将notificationIssue设置为NO

这引出了真正的问题......我如何找到其他信息?现在,你没有。 Apple没有向我们提供查询此信息的API。我的个人建议是report it to Apple并请求API。这就是我们让他们知道我们希望API访问此信息的方式。

答案 1 :(得分:1)

我也遇到过这种情况([[UIApplication sharedApplication] enabledRemoteNotificationTypes]返回UIRemoteNotificationTypeNone,即使应用程序位于通知中心并且“提示风格”为“横幅”)。

我发现将'提示风格切换为'无'然后返回到通知中心的“横幅”修复了我的测试设备上的问题。