当我的应用位于通知中心时,我如何才能看到 UIRemoteNotificationTypeNone?
Posted
技术标签:
【中文标题】当我的应用位于通知中心时,我如何才能看到 UIRemoteNotificationTypeNone?【英文标题】:How can I be seeing UIRemoteNotificationTypeNone when my app is in the Notification Center? 【发布时间】:2012-08-21 19:36:00 【问题描述】:我有一个使用 ios 5.1.1 的用户报告说我的应用程序不允许他设置通知,即使他已将它放在通知中心。他给我发了一张截图,显示他已经清楚地把它放在了通知中心。但如果应用不允许他设置通知,那是因为这段代码返回了 notificationIssue == YES:
BOOL notificationIssue = NO;
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types == UIRemoteNotificationTypeNone) notificationIssue = YES;
当然,我无法访问他的设备,所以我自己无法进一步调查,但我想知道是否有人知道该应用程序如何清楚地显示在通知中心中,带有徽章、声音和警报已启用,但仍无法通过此测试?
我无法重现此问题,而且我没有从其他人那里听说过这个问题。
【问题讨论】:
我遇到了同样的问题,但使用的是开发 APNS 证书。我尝试关闭通知并重新打开,但无济于事。 【参考方案1】:我也遇到过这种情况([[UIApplication sharedApplication] enabledRemoteNotificationTypes]
返回UIRemoteNotificationTypeNone
,即使应用程序位于通知中心并且具有“横幅”的“警报样式”)。
我发现在通知中心将“警报样式”切换为“无”,然后再切换回“横幅”可以解决我的测试设备上的问题。
【讨论】:
【参考方案2】:enabledRemoteNotificationTypes
仅引用设置->通知中的“警报样式”部分。
如果您将其设置为“无”并保持一切打开,您仍将获得 UIRemoteNotificationTypeNone
,而您的 notificationIssue
将是 YES
。同样,用户可以禁用通知并将“警报样式”设置为横幅,您的notificationIssue
将设置为NO
。
这引出了一个真正的问题......我如何找到其余的信息?现在,你没有。 Apple 没有给我们提供查询这些信息的 API。我个人的建议是report it to Apple 并请求 API。这就是我们让他们知道我们希望 API 访问这些信息的方式。
【讨论】:
以上是关于当我的应用位于通知中心时,我如何才能看到 UIRemoteNotificationTypeNone?的主要内容,如果未能解决你的问题,请参考以下文章