iphone-推送通知即使在禁用后也会出现

iphone-推送通知即使在禁用后也会出现,iphone,push-notification,Iphone,Push Notification,我正在开发一个带有推送通知的应用程序 但是一些奇怪的事情正在发生 FirstdidRegisterForRemoteNotificationsWithDeviceToken始终执行,即使在禁用通知之后也是如此。我也收到了 我从未收到通知,询问我是否允许推送通知,即使我卸载应用程序,将日历向前移动2天并重新启动手机,它也不会要求允许推送通知,它假定我允许推送通知 有人能告诉我为什么会发生这种奇怪的事情吗 谢谢您到底是如何禁用通知的?iOS中的设置界面并不十分清晰 我使用此代码在控制台中显示应用程序

我正在开发一个带有推送通知的应用程序

但是一些奇怪的事情正在发生


First
didRegisterForRemoteNotificationsWithDeviceToken
始终执行,即使在禁用通知之后也是如此。我也收到了

我从未收到通知,询问我是否允许推送通知,即使我卸载应用程序,将日历向前移动2天并重新启动手机,它也不会要求允许推送通知,它假定我允许推送通知

有人能告诉我为什么会发生这种奇怪的事情吗


谢谢

您到底是如何禁用通知的?iOS中的设置界面并不十分清晰

我使用此代码在控制台中显示应用程序的远程推送通知设置

UIRemoteNotificationType notificationSelection = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

if (notificationSelection == UIRemoteNotificationTypeNone)
{
    NSLog(@"Push Notifications : DISABLED (%0X)", notificationSelection);
}
else
{
    NSLog(@"Push Notifications : ENABLED (%0X)", notificationSelection);

    if (notificationSelection & UIRemoteNotificationTypeBadge)
    {
        NSLog (@"Push Notifications : Badge");
    }

    if (notificationSelection & UIRemoteNotificationTypeSound)
    {
        NSLog (@"Push Notifications : Sound");
    }

    if (notificationSelection & UIRemoteNotificationTypeAlert)
    {
        NSLog (@"Push Notifications : Alert");
    }

    if (notificationSelection & UIRemoteNotificationTypeNewsstandContentAvailability)
    {
        NSLog (@"Push Notifications : Newstand Content Availability");
    }

    sendMessage = YES;
}

如果您在应用程序的设置中禁用了推送警报视图,您实际会显示推送警报视图吗?这听起来完全错误,如果这是真的,请提交一份雷达文件。DidRegisterForRemotionTifications SwithDeviceToken可能因为调用RegisterForRemotionTifications类型而被回调。它只是通过返回设备令牌来响应。他还说,即使在卸载和重新安装应用程序后,他也不会看到第一次“FooApp”想要向您发送推送通知”用户权限对话框。请参阅以了解详细信息。我转到“常规->通知”,然后禁用Im开发的应用程序。另外,我将手机的日期改为2天后,然后重新启动手机。我在这里的详细信息只是为了帮助您。。。请注意,您只需要禁用所有单个选项。仅将“通知中心”设置为关闭是不够的。您还需要将“警报样式”设置为“无”,将“徽章图标”设置为“关闭”,将“声音”设置为“关闭”,并将“锁定屏幕中的视图”设置为“关闭”。这些选项中的任何一个都需要启用推送通知——这对我来说不是很明显。我将编辑上面的答案,添加用于在控制台中显示应用程序远程通知设置的代码。此外,您希望更改时钟会产生什么影响?远程服务器根据布尔标志和服务器应用程序使用的任何其他标准发送通知-iPhone上的时间不会有任何区别。我在stackoverflow中读到另一个问题,如果你不更改时间,手机将不会询问你是否要“允许通知”我想模拟第一个问题。此外,“DidRegisterForRemomentNotificationsWithDeviceToken”每次都会执行,这一事实并不奇怪吗?是否只允许执行一次?这是第一次?根据文档,设备应该在每次运行时注册通知,因为设备令牌可能会更改。