当我第一次使用Xcode安装我的iOS应用程序时,我的iPhone会询问是否要启用推送通知 .
我可以发送通知,徽章会显示我发送的号码 .
当我从iPhone中删除应用程序并在Xcode中重建它并在我的iPhone上重新安装它时(使用Xcode):
设备不询问是否要启用推送 .
徽章在那里, remembers 是最后一个号码 .
我在一个新设备上尝试了相同的应用程序(安装了IPA),它向我询问了权限 .
如何让我的设备完全忘记应用程序?
谢谢
有一种解决方法,包括将系统时间提前两天,重新启动设备,然后将系统时间更改回当前 . iOS旨在每个应用程序每天只要求一次推送权限 .
重置iOS上的推送通知权限警报第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知 . 一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报 . 如果您想模拟首次运行的应用,可以将应用程序卸载一天 . 通过将系统时钟向前设置一天或更长时间,完全关闭设备,然后重新打开设备,您可以实现后者而无需实际等待一天 .
http://developer.apple.com/library/ios/#technotes/tn2265/_index.html
从Apple的文档更新为iOS 7及更高版本:
在iOS 7及更高版本中,第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知 . 一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报 . 如果您想模拟首次运行的应用,可以将应用程序卸载一天 . 您可以通过以下步骤实现后者而无需等待一天:从设备中删除您的应用 . 完全关闭设备并重新打开 . 转到设置>常规>日期和时间,并将日期设置为一天或更长时间 . 再次完全关闭设备并重新打开 .
对于iOS 5和iOS6:
通过从备份恢复设备来重置推送通知权限警报(r.11450187) . 以下是有效执行此操作的步骤:使用Xcode管理器在设备上安装您的应用程序 . 关键是首次安装应用程序而不运行它 . 使用iTunes备份设备 . 运行应用程序 . 将显示推送通知权限警报 . 如果要重置推送通知权限警报,请从您在第一步中创建的备份中还原设备 .
https://developer.apple.com/library/content/technotes/tn2265/_index.html
我和你在同一条船上 . 我发现最有帮助的是略微更改包标识符 .
示例:您的包标识符是com.company.app . 如果需要测试启用推送通知,请将标识符更改为com.company.app1 . 它将作为新应用程序安装并具有新的推送通知权限设置 .
只需确保在完成测试后将其更改回来 .
首先,没有关系 iOS 记得 push settings,badge 值并且你没有得到 push notification . 我确信还有其他一些问题 . 是的, iOS 会记住应用的 push settings 和 badge 值 . 首次在设备上安装时,它会要求推送确认 . 您可以通过调用 setApplicationIconBadgeNumber: 重置 badge 值
iOS
push settings,badge
push notification
push settings
badge
setApplicationIconBadgeNumber:
如果你想重置 push settings ,那么你可以通过重置设备的所有 setting 来实现 .
setting
如果您有任何应用程序初始化代码(例如,当文档文件夹中没有可用的数据库时复制/初始化数据库 . 因此您知道它已重新安装)您可以将徽章计数重置为零 .
同样,如果用户手动从包中删除db文件,或者您没有为应用程序进行此类初始化设置,则可能会失败 .
按照以下步骤激励您通过以下步骤首次运行您的应用:
1) . 从设备中删除您的应用 .
2) . 完全关闭设备并重新打开 .
3) . 转到设置>常规>日期和时间,并将日期设置为一天或更长时间 .
4) . 再次完全关闭设备并重新打开 .
6 回答
有一种解决方法,包括将系统时间提前两天,重新启动设备,然后将系统时间更改回当前 . iOS旨在每个应用程序每天只要求一次推送权限 .
http://developer.apple.com/library/ios/#technotes/tn2265/_index.html
从Apple的文档更新为iOS 7及更高版本:
对于iOS 5和iOS6:
https://developer.apple.com/library/content/technotes/tn2265/_index.html
我和你在同一条船上 . 我发现最有帮助的是略微更改包标识符 .
示例:您的包标识符是com.company.app . 如果需要测试启用推送通知,请将标识符更改为com.company.app1 . 它将作为新应用程序安装并具有新的推送通知权限设置 .
只需确保在完成测试后将其更改回来 .
首先,没有关系
iOS
记得push settings,badge
值并且你没有得到push notification
. 我确信还有其他一些问题 . 是的,iOS
会记住应用的push settings
和badge
值 . 首次在设备上安装时,它会要求推送确认 . 您可以通过调用setApplicationIconBadgeNumber:
重置badge
值如果你想重置
push settings
,那么你可以通过重置设备的所有setting
来实现 .如果您有任何应用程序初始化代码(例如,当文档文件夹中没有可用的数据库时复制/初始化数据库 . 因此您知道它已重新安装)您可以将徽章计数重置为零 .
同样,如果用户手动从包中删除db文件,或者您没有为应用程序进行此类初始化设置,则可能会失败 .
按照以下步骤激励您通过以下步骤首次运行您的应用:
1) . 从设备中删除您的应用 .
2) . 完全关闭设备并重新打开 .
3) . 转到设置>常规>日期和时间,并将日期设置为一天或更长时间 .
4) . 再次完全关闭设备并重新打开 .