如何显示"想要发送推送通知"警报视图?

Vin*_*lso 15 push-notification ios

在此输入图像描述

注册远程通知后,我能够显示如上图所示的警报视图.但是当我删除我的Project App并再次构建它时,它将不再显示.

是否有机会再次向同一设备显示警报视图?

我喜欢的是再次获取我的设备令牌,因为我无法将设备令牌暂时存储在NSUserDefaults中.

use*_*149 22

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

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

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

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

参考:https://developer.apple.com/library/ios/technotes/tn2265/_index.html


ron*_*ogo 11

解决了根据测试需要再次显示推送通知权限对话框的问题 - 这当然是一种解决方法,但这里有:

刚刚完成了一个广泛使用推送通知的应用程序的工作,并尝试了所有常用的排列,但没有成功...我最终意识到解决该问题最简化的方法是让设备仅用于测试(即低端iPod Touch).

要重置对话框,请执行设置>常规>重置>删除所有内容和设置.通过设备的设置过程,重新安装应用程序和Go.

这是我在开发/测试过程中根据需要测试"首次启动"体验的唯一方法.它还为该过程增加了许多额外的多功能性.

不应该诉诸这一切,但我很高兴我做到了,因为它结果是一个真正的天赐之物.FWIW.

[PS它可能在将来用于测试操作系统的beta版本等方面也很方便.]

  • 有更好的方法 - https://developer.apple.com/library/ios/technotes/tn2265/_index.html滚动到该技术说明的底部("重置iOS上的推送通知权限警报")请参阅有关重置推送通知权限的说明,而无需重置设备.如果您不能使用专用的开发设备,并且不希望每次都必须重置您的个人设备,这将非常有用. (2认同)

XJo*_*nes 7

启动时,您的应用应通过以下方式请求令牌:

- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types
Run Code Online (Sandbox Code Playgroud)

并将在委托消息中从iOS获取令牌:

– application:didRegisterForRemoteNotificationsWithDeviceToken:
Run Code Online (Sandbox Code Playgroud)

iOS将提示用户仅在必要时允许通知.如果已经为您的应用授权远程通知,则不会显示警报,您的应用将获得有效令牌.

网是你不能强制警报,但你不需要.

  • 你将永远得到一个`application:didRegisterForRemoteNotificationsWithDeviceToken:`或`application:didFailToRegisterForRemoteNotificationsWithError:` (3认同)