通知中心缓存设置?

时间:2012-01-08 10:47:22

标签: iphone objective-c notifications push center

我即将在我的应用中测试推送通知。现在它工作正常但我还需要测试用户在显示系统警报时不接受推送的可能性。但是,在首次测试用户接受的情况之后。

我可以删除应用程序,重启设备等等但设置似乎仍然存在。当我删除应用程序时,它会从通知中心删除,但是在安装设置之后就像删除之前一样。

我可以理解苹果在这里指出的是没有一直显示这种对话,但是认真对待;如果用户删除应用程序并重新安装 - 这是一个手动操作,如果再次询问该问题,它似乎不会是垃圾邮件。无论如何,它确实在iOS5之前。

所以:

  • Notification Center是否缓存这些设置?
  • 如果是这样,多长时间?
  • 最重要的是:我可以以某种方式强制测试吗? (将设备日期设置为将来?)

2 个答案:

答案 0 :(得分:7)

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

如果您想模拟首次运行的应用,可以将应用程序卸载一天。通过将系统时钟向前设置一天或更长时间,完全关闭设备,然后重新打开设备,您可以实现后者而无需等待一天。

答案 1 :(得分:1)

Notification Center如何存储首选项的实现是私有的和未记录的,但由于iOS基于Mac OSX,它可能以相同的方式存储首选项 - 根据您的应用程序在系统目录中的标识符而不是在您的应用的目录结构。您可以通过更改应用程序的标识符(但不是其他任何内容)来验证这一点,并检查以前的首选项设置。这不是缓存,只是他们选择的持久化数据实现。您不可能做任何事情让它“忘记”对已删除应用的偏好。