如何在取消一次"允许推送通知"对话框后返回?

Sch*_*999 42 iphone objective-c push-notification apple-push-notifications ios

我正在构建一个严重依赖APN的应用程序.在我的应用程序第一次启动时,iOS会询问是否允许此应用程序使用APN(作为registerForRemoteNotificationTypes:调用的结果).然而,一旦被解雇,这个对话框永远不会弹出.我必须手动去Settings->Notifications->MyApp启用/禁用那里的东西.那么有没有办法避免这种喧嚣,并实际体验用户每次在调试模式下启动应用程序时的第一次启动体验?

Era*_*ran 80

下面是苹果公司说,你能做到这一点:

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

第一次启用推送的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知.一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报.

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

  1. 从设备中删除您的应用.

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

  3. 转到设置>常规>日期和时间,并将日期设置为一天或更长时间.

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

  • 哇...好工作Apple :)但谢谢!总比没有好.我会试一试. (5认同)
  • 我刚刚找到的东西:重置权限后,无论何时再次显示提示,您都可以关闭/打开手机而不是回答提示,并且会在下次应用运行时再次提示.用于更改代码以确定是否/何时某些代码路径会导致提示. (5认同)

Alb*_*haw 24

由于时间是金钱而其他方法需要永远 - 只需在调试时反复更改您的软件包ID,每次通知都会被新查询.一旦您对代码返回到原始包ID感到满意.

  • 暂时关闭所有其他功能(如IAP)以避免需要更改配置文件. (2认同)

Gom*_*ius 18

在iOS 9.x上,每次删除应用程序并重新安装时都可以收到提示.这适用于AppStore生产下载和adhoc模式.设备令牌每次都是唯一的.

@chengsam也证实了这在iOS 10中也是如此.@WongWray也证实了这在iOS 11中也是如此.


小智 6

在IOS10上,我现在可以通过删除应用程序再次获得提示.

  • 这是iOS 8的当天 (2认同)

Woo*_*ock 5

目前,他们没有以编程方式提示用户在已经决定拒绝之后重新接受推送通知.

您应该只检查您是否已被授予访问权限,如果没有显示视图,提醒用户在隐私设置中手动授予权限,以启用应用程序的推送通知功能.