重置ios5中的推送通知权限设置

Jef*_*ein 5 iphone push-notification

我正在开发一个使用推送通知的应用程序,并在使用iOS 5.1.1的设备上进行测试.我想测试在应用首次运行期间提示用户有关推送通知的情况.第一次调用registerForRemoteNotificationTypes时会出现该对话框,但即使从头开始重新安装该应用程序,也不会再次显示该对话框.如何清除设置以便再次出现对话框?

之前发布了同样的问题,但答案不适用于iOS 5或更高版本,如评论中所述.

Apple的文档说要卸载应用程序并弄乱时钟,使其看起来像应用程序已卸载一天,但这在iOS5上不起作用.

另一个答案建议运行常规 - >重置 - >删除所有内容和设置 - 我试过这个,但它冻结了我的设备,我最终不得不重新启动它.在任何情况下,这都是一个严厉的解决方案,不适合测试.

另一个答案建议从/private/var/mobile/Library/RemoteNotification/Clients.plist中删除您的应用程序条目,但此文件在iOS5上不存在.

有没有办法在iOS5上实现这一目标?

Jef*_*ein 5

我找到了一个解决方案,如果你的设备被越狱了:

  • 使用iFile等应用程序使用/var/mobile/Library/SpringBoard/applicationstate.plist属性列表查看器打开文件
  • 找到您应用的捆绑包标识符并删除密钥 SBRemoteNotificationClient
  • 重启SpringBoard - 重启设备,SSH到设备并运行killall SpringBoard,或使用Respring应用程序.

下次运行应用程序时,它将再次显示通知权限对话框.

我在iOS 5.1.1上测试了这个.

  • 在iOS7中,此文件位于以下位置:/private/var/mobile/Library/BackBoard/applicationState.plist (2认同)