首页 文章

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

提问于
浏览
29

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

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

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

  • 设备不询问是否要启用推送 .

  • 徽章在那里, remembers 是最后一个号码 .

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

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

谢谢

6 回答

  • 38

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

    重置iOS上的推送通知权限警报第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知 . 一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报 . 如果您想模拟首次运行的应用,可以将应用程序卸载一天 . 通过将系统时钟向前设置一天或更长时间,完全关闭设备,然后重新打开设备,您可以实现后者而无需实际等待一天 .

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

  • 27

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

    在iOS 7及更高版本中,第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知 . 一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报 . 如果您想模拟首次运行的应用,可以将应用程序卸载一天 . 您可以通过以下步骤实现后者而无需等待一天:从设备中删除您的应用 . 完全关闭设备并重新打开 . 转到设置>常规>日期和时间,并将日期设置为一天或更长时间 . 再次完全关闭设备并重新打开 .

    对于iOS 5和iOS6:

    通过从备份恢复设备来重置推送通知权限警报(r.11450187) . 以下是有效执行此操作的步骤:使用Xcode管理器在设备上安装您的应用程序 . 关键是首次安装应用程序而不运行它 . 使用iTunes备份设备 . 运行应用程序 . 将显示推送通知权限警报 . 如果要重置推送通知权限警报,请从您在第一步中创建的备份中还原设备 .

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

  • 0

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

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

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

  • 0

    首先,没有关系 iOS 记得 push settings,badge 值并且你没有得到 push notification . 我确信还有其他一些问题 . 是的, iOS 会记住应用的 push settingsbadge 值 . 首次在设备上安装时,它会要求推送确认 . 您可以通过调用 setApplicationIconBadgeNumber: 重置 badge

    如果你想重置 push settings ,那么你可以通过重置设备的所有 setting 来实现 .

  • 5

    如果您有任何应用程序初始化代码(例如,当文档文件夹中没有可用的数据库时复制/初始化数据库 . 因此您知道它已重新安装)您可以将徽章计数重置为零 .

    同样,如果用户手动从包中删除db文件,或者您没有为应用程序进行此类初始化设置,则可能会失败 .

  • 2

    按照以下步骤激励您通过以下步骤首次运行您的应用:

    1) . 从设备中删除您的应用 .

    2) . 完全关闭设备并重新打开 .

    3) . 转到设置>常规>日期和时间,并将日期设置为一天或更长时间 .

    4) . 再次完全关闭设备并重新打开 .

相关问题