han*_*nno 170 iphone push-notification
我正在使用推送通知开发应用程序.要检查所有可能的用户交互方式,我想在用户拒绝在第一次启动时为我的应用启用推送通知时测试我的应用.
registerForRemoteNotificationTypes
但是,对话框(由其启动)仅在每个应用程序中出现一次.如何重置iPhone OS的应用程序内存.删除应用程序并重新安装没有帮助.
ian*_*ito 298
第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知.一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报.
如果您想模拟首次运行的应用,可以将应用程序卸载一天.通过将系统时钟向前设置一天或更长时间,完全关闭设备,然后重新打开设备,您可以实现后者而无需实际等待一天.
更新:如下面的评论中所述,此解决方案自iOS 5.1起停止工作.我鼓励向Apple提交一个错误,以便他们可以更新他们的文档.目前的解决方案似乎是重置设备的内容和设置.
更新:技术说明已更新,其中的新步骤在iOS 7中正常运行.
- 从设备中删除您的应用.
- 完全关闭设备并重新打开.
- 转到设置>常规>日期和时间,并将日期设置为一天或更长时间.
- 再次完全关闭设备并重新打开.
从iOS 9开始更新
只需删除并重新安装应用程序,就会将通知状态重置为notDetermined
(意味着会出现提示).
感谢Gomfucius的回答:https://stackoverflow.com/a/33247900/704803
Gom*_*ius 35
在iOS 9.0.2上,每次删除应用程序并重新安装时,我都会收到"注册推送通知警报".这适用于AppStore生产下载和adhoc模式.
更新:已确认这适用于iOS 9.x.
小智 19
如前所述,重置iOS3上的应用程序的通知状态的方法更新为iOS5.
这适用于iOS6:
但是这只会使初始提示再次出现 - 它不会删除任何其他推送状态相关的东西.
小智 9
plist:/private/var/mobile/Library/RemoteNotification/Clients.plist
...包含推送通知的注册客户端.删除应用程序的条目将导致提示重新出现
以编程方式执行它似乎每次都适合我.我有一个没有注释以下行的构建:
[[UIApplication sharedApplication] unregisterForRemoteNotifications];
Run Code Online (Sandbox Code Playgroud)
我每次想从PN取消注册时都会运行它.您可能必须从最近的列表中明确地结束应用,并使用"设置"应用中的"通知中心"来使其正确.
此外,要求用户注册PN的UI提示可能不会显示.不确定是否已在任何最新的iOS版本中禁用.
正如ianolito所说,设置日期应该有效:
通过将系统时钟向前设置一天或更长时间,完全关闭设备,然后重新打开设备,您可以实现后者而无需实际等待一天.
我注意到我的设备(iPhone 4,iOS 6.1.2)将系统时钟设置为前一天甚至几天都不适合我.所以我将日期设置为一个月,然后它确实有效,我的应用程序再次显示通知提示.
希望这对任何人都有帮助,它可能有点头痛!
我同意micmdk ..我有一个推送通知的开发环境设置,需要一种方法来重置我的手机看起来像一个初始安装...只有这些精确的步骤适合我...需要重新启动设备:
来自APPLE TECH DOC:
重置iOS上的推送通知权限警报第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知.一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报.
如果您想模拟首次运行的应用,可以将应用程序卸载一天.您可以通过以下步骤实现后者而无需等待一天:
从设备中删除您的应用.
完全关闭设备并重新打开.
转到设置>常规>日期和时间,并将日期设置为一天或更长时间.
再次完全关闭设备并重新打开.
归档时间: |
|
查看次数: |
98372 次 |
最近记录: |