如何清除iOS应用程序的推送通知?

Hello安装应用程序时,它会要求用户发送推送通知的权限。 我正在testing我的应用程序。 但是将其从设备中删除后再安装不再需要许可。 如何删除这些设置,以便再次获得许可?

我需要它来testing服务器推送通知。

iOS推送通知的允许对话框每24小时出现一次。所以,您需要手动修改设备date,并将其设置为对话框出现的date后1天。

请尝试使用UIApplication的- (void)unregisterForRemoteNotifications方法。

你可以看到这里: https : //developer.apple.com/library/mac/technotes/tn2265/_index.html如下。

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

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

从设备上删除您的应用程序。 完全closures设备并重新打开。 进入设置>常规>date和时间,并设置date提前一天或更多。 将设备再次完全closures,然后重新打开。

这只适用于我在iOS7中:

  • 从设备上删除您的应用程序。

  • 完全closures设备并重新打开。

  • 进入设置>常规>date和时间,并设置date提前一天或更多。

  • 将设备再次完全closures,然后重新打开。

  • 重新安装应用程序

运行在iOS 6.0上,“删除并等待24小时”的方法不适合我。 取消注册/重新设备令牌也不起作用,这似乎是苹果公司的一个错误。 苹果公司的技术说明最近于2011年9月更新,显得过时了。

只有完全重置设备,我才能够再次触发权限警报。 这对于testing来说是相当痛苦的,但是它是有效的。

可悲的是,如果用户改变了从应用程序接收推送通知的想法,就没有办法要求用户这样做,所以请确保您在最佳时机要求获得许可。

我读了一次,你必须完全从你的设备上删除应用程序,并等待24小时,然后重新安装(build议closures一个完整的设备),这样会再次要求你的权限,但我从来没有尝试过。 无论如何,我不认为你真的需要再次获得这些权限,你为什么要这样做?

正如JS Rodrigues所说,你可以随时取消注册你的设备。 但我不知道你为什么试图再次要求许可。 如果你在你自己的服务器上运行APN,那么在注册你的设备之后,从 – (void)application:(UIApplication *)应用程序的设备令牌didRegisterForRemoteNotificationsWithDeviceToken 🙁 NSData *)deviceToken方法应该被发送到你的APN系统,对全部。 因此,如果您试图testing设备令牌是否可以发布到您自己的系统,则可能需要取消注册方法。 否则,没有必要这样做,因为令牌logging在您的系统中,您可以删除它。 而且每隔一段时间应用程序启动,一个新的logging将被添加到APN系统。