删除我的iOS应用程序时,推送通知状态仍然存在

Maj*_*ssi 29 iphone api xcode uninstall ios

当我第一次使用Xcode安装我的iOS应用程序时,我的iPhone会询问是否要启用推送通知.

我可以发送通知,徽章会显示我发送的号码.

当我从iPhone中删除应用程序并在Xcode中重建它并在我的iPhone上重新安装它时(使用Xcode):

  • 设备不会询问是否要启用推送.
  • 徽章在那里并记住最后一个号码.

我在一个新设备上尝试了相同的应用程序(安装了IPA),它向我询问了权限.

如何让我的设备完全忘记应用程序?

谢谢

Mik*_*ike 38

从Apple的文档更新为iOS 7及更高版本:

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

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

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

对于iOS 5和iOS6:

通过从备份还原设备来重置推送通知权限警报(r.11450187).以下是有效执行此操作的步骤:

  1. 使用Xcode Organizer在设备上安装您的应用程序.关键是首次安装应用程序而不运行它.
  2. 使用iTunes备份设备.
  3. 运行应用程序.将显示推送通知权限警报.
  4. 如果要重置推送通知权限警报,请从您在第一步中创建的备份中还原设备.

https://developer.apple.com/library/content/technotes/tn2265/_index.html

  • 令人难以置信的Apple - 为您的开发人员提供快捷方式! (2认同)

Jus*_*tin 27

有一种解决方法,包括将系统时间提前两天,重新启动设备,然后将系统时间更改回当前.iOS旨在每个应用程序每天只要求一次推送权限.

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

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

http://developer.apple.com/library/ios/#technotes/tn2265/_index.html


小智 5

我和你在同一条船上.我发现最有帮助的是略微更改包标识符.

示例:您的包标识符是com.company.app.如果需要测试启用推送通知,请将标识符更改为com.company.app1.它将作为新应用程序安装并具有新的推送通知权限设置.

只需确保在完成测试后将其更改回来.