2

我有一个使用 iOS 5.1.1 的用户报告我的应用程序不允许他设置通知,即使他已将其放在通知中心。他给我发了一张截图,上面显示他清楚地把它放在了通知中心。但是如果应用程序不允许他设置通知,那是因为这段代码返回了 notificationIssue == YES:

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

当然,我无法访问他的设备,所以我自己无法进一步调查,但我想知道是否有人知道该应用程序如何清楚地显示在通知中心,并启用了徽章、声音和警报,并且仍然没有通过这个测试?

我无法重现这一点,而且我还没有从其他人那里听说过这个问题。

4

2 回答 2

1

enabledRemoteNotificationTypes仅引用设置->通知中的“警报样式”部分。

如果您将其设置为“无”并保留所有内容,您仍将获得 aUIRemoteNotificationTypeNone而您的notificationIssue将是YES. 出于同样的原因,用户可以禁用通知并将“警报样式”设置为横幅,而您的notificationIssue将设置为NO.

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

于 2012-09-17T15:51:06.500 回答
1

我也遇到过这种情况(即使应用程序位于通知中心并且具有“横幅”的“警报样式”,也会[[UIApplication sharedApplication] enabledRemoteNotificationTypes]返回)。UIRemoteNotificationTypeNone

我发现在通知中心将“警报样式”切换为“无”,然后再切换回“横幅”可以解决我的测试设备上的问题。

于 2013-09-19T04:50:38.717 回答