繁体   English   中英

iOS应用不要求iOS7设备上的权限

[英]iOS app not asking for permissions on iOS7 device

我有一个iOS应用程序,使用以下代码启用推送通知

 if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)])
{
    // iOS 8 Notifications
    [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];

    [application registerForRemoteNotifications];
}
else
{
    // iOS < 8 Notifications
    [application registerForRemoteNotificationTypes:
     (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
}

当这个应用程序在iOS9设备上运行时,它在开始时请求权限就好了,但是当在iOS7,iPhone 4上使用时,它不会要求权限,但它接收通知就好了,无法理解问题。

尽管没有提供权限对话,看到您的用户正在接收推送通知,但必须遵循以下情况:

  1. 他之前在他的iPhone 4s上构建了他已经授权推送通知。
  2. 他迅速卸载了之前的版本并安装了你给他的最新版本,而不是在重新安装之前给设备一天的时间。
  3. 结果是他没有提出任何要求推送通知权限的对话,因为之前已经授予了权限。

根据Apple Technical Note 2265

第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知。 一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报。

如果您想模拟首次运行的应用,可以将应用程序卸载一天。 您可以通过以下步骤实现后者而无需等待一天:

从设备中删除您的应用。 完全关闭设备并重新打开。 转到设置>常规>日期和时间,并将日期设置为一天或更长时间。 再次完全关闭设备并重新打开

如果您要求用户在设置菜单中检查应用特定权限,他肯定会看到推送权限。 否则他根本就不会收到推送通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM