重置推送通知允许在iOS5中设置(Reset push notification permissio

2019-08-01 18:41发布

我正在开发使用推送通知的应用程序,并与iOS 5.1.1的设备上进行测试。 我想测试,其中向用户应用首次运行时提示有关推送通知的情况。 对话框出现在我第一次打电话registerForRemoteNotificationTypes,但从来没有再次出现,即使应用程序是从头开始重新安装。 我怎样才能清除设置,使该对话框会再次出现?

同样的问题在之前发布 ,但答案没有为iOS 5的工作或更高版本,如在评论中提到那里。

苹果的文件说要卸载该应用程序,并乱用时钟,使之像应用程序卸载了一天,但这并不对iOS5的工作。

另一份答复提出运行常规 - >设置 - >抹掉所有内容和设置 - 我想这一点,但它冻结了我的设备,我最后不得不电源循环吧。 在任何情况下,这是一个笨拙的解决方案,是不是测试实际。

另一个答案建议删除从/private/var/mobile/Library/RemoteNotification/Clients.plist您的应用程序的入口,但这个文件不存在的iOS5。

有没有办法做到这一点上的iOS5?

Answer 1:

我发现,如果你的设备是越狱一个可行的解决方案:

  • 使用iFile的像一个应用程序打开文件/var/mobile/Library/SpringBoard/applicationstate.plist与属性列表查看器
  • 寻找你的应用程序的包标识符和删除键SBRemoteNotificationClient
  • 重新启动跳板-要么重新启动设备,SSH到设备并运行killall SpringBoard ,或者使用Respring应用程式。

你运行你的应用程序下一次,就会显示出通知允许再次对话框。

我已经在iOS 5.1.1测试这一点。



Answer 2:

为iOS 5和iOS 6提供你的代码路径都不太一样,最简单的方法可能是只是测试在iOS 6的具体行为 - 你在iOS 5中的回调应该是足够的相似性为它不成为一个问题。

另外,改变应用程序的包ID。 稍微繁琐(在过去,我需要重新启动的Xcode为它注意到捆绑的ID改变),你会需要一个通配符的provisioning profile得心应手。



文章来源: Reset push notification permission setting in ios5