registerUserNotificationSettings 只询问我一次“APPNAME 是不是想使用推送通知”。我需要它再次要求我进行测试。如何?

Posted

技术标签:

【中文标题】registerUserNotificationSettings 只询问我一次“APPNAME 是不是想使用推送通知”。我需要它再次要求我进行测试。如何?【英文标题】:registerUserNotificationSettings only asks me once if "APPNAME would like to use push notifications". I need it to ask me again for testing. How?registerUserNotificationSettings 只询问我一次“APPNAME 是否想使用推送通知”。我需要它再次要求我进行测试。如何? 【发布时间】:2015-04-23 02:03:29 【问题描述】:

我现在正在测试推送通知。

registerUserNotificationSettings 应该询问用户一次且仅一次“APPNAME 想要发送推送通知”。但是,我现在正在测试我的应用程序,我需要它再次询问我。我已经从我的设备中删除了该应用程序,并从 XCode 在我的设备上重新运行该应用程序,但我无法让它再次询问我。

我需要从我的设备中删除什么才能让这个问题再次出现?

【问题讨论】:

我认为您需要重置设备。设置 > 常规 > 重置。 @matt yikes 那是唯一的选择??这太疯狂了。 嗯,你可以重装系统。 :) 说真的,您需要让设备忘记它曾经见过这个应用程序。这就是你这样做的方式。你在乎什么?它只是一个测试设备——不是吗??? @matt 不,这是我的主要设备。在用户发表他/她的第一条评论后,我想将注册调用移到代码中的其他位置。这样,接受推送通知的人的转化率会更高,因为当有人在他们的帖子上出现时,他们希望推送通知。想测试一下。 哦哦,真是个鬼鬼祟祟的解决方案!它来自苹果!!!! 【参考方案1】:

我找到了答案。 https://developer.apple.com/library/ios/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG42

在 iOS 上重置推送通知权限警报

启用推送的应用首次注册推送通知时,iOS 会询问用户是否希望接收该应用的通知。一旦用户对此警报做出响应,除非设备已恢复或应用已卸载至少一天,否则它不会再次出现。

如果您想模拟应用的首次运行,可以将应用卸载一天。您可以通过以下步骤实现后者,而无需实际等待一天:

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

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

3) 转到设置 > 常规 > 日期和时间,然后将日期提前一天或更长时间。

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

【讨论】:

【参考方案2】:

也许是一个相当明显的解决方案,但如果您的测试设备是您的主要(个人)设备,您可以使用模拟器进行测试,这当然很容易重置。

这比关闭/打开设备、更改日期、再次关闭/打开要快得多。

【讨论】:

以上是关于registerUserNotificationSettings 只询问我一次“APPNAME 是不是想使用推送通知”。我需要它再次要求我进行测试。如何?的主要内容,如果未能解决你的问题,请参考以下文章