我有一位iOS 5.1.1用户报告我的应用程序不允许他设置通知,即使他已将其放入通知中心。他给我发了一个屏幕截图,显示他显然已将其放入通知中心。但是如果应用程序不允许他设置通知,那是因为这段代码带有notificationIssue == YES回来了:
BOOL notificationIssue = NO;
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types == UIRemoteNotificationTypeNone) notificationIssue = YES;
我当然无法访问他的设备,所以我无法进一步调查自己,但我想知道是否有人有任何想法应用程序如何明确地在通知中心,徽章,声音和警报已启用,但仍未通过此测试?
我无法重现这一点,我也没有从别人那里听说过这个问题。
答案 0 :(得分:1)
enabledRemoteNotificationTypes
仅引用“设置 - >通知”中的“提醒方式”部分。
如果您将其设置为“无”并将所有内容保持打开状态,您仍会获得UIRemoteNotificationTypeNone
,而notificationIssue
将是YES
。出于同样的原因,用户可以禁用通知并将“提醒样式”设置为横幅,并将notificationIssue
设置为NO
。
这引出了真正的问题......我如何找到其他信息?现在,你没有。 Apple没有向我们提供查询此信息的API。我的个人建议是report it to Apple并请求API。这就是我们让他们知道我们希望API访问此信息的方式。
答案 1 :(得分:1)
我也遇到过这种情况([[UIApplication sharedApplication] enabledRemoteNotificationTypes]
返回UIRemoteNotificationTypeNone
,即使应用程序位于通知中心并且“提示风格”为“横幅”)。
我发现将'提示风格切换为'无'然后返回到通知中心的“横幅”修复了我的测试设备上的问题。