【发布时间】:2011-12-23 09:50:09
【问题描述】:
注册远程通知后,我能够显示如上图所示的警报视图。 但是当我删除我的项目应用程序并重新构建它时,它不会再显示了。
是否有机会再次向同一设备显示警报视图?
我喜欢再次获取我的设备令牌,因为我未能将设备令牌临时存储在 NSUserDefaults 中。
【问题讨论】:
标签: ios push-notification
注册远程通知后,我能够显示如上图所示的警报视图。 但是当我删除我的项目应用程序并重新构建它时,它不会再显示了。
是否有机会再次向同一设备显示警报视图?
我喜欢再次获取我的设备令牌,因为我未能将设备令牌临时存储在 NSUserDefaults 中。
【问题讨论】:
标签: ios push-notification
从设备中删除您的应用。
完全关闭设备并重新打开。
转到设置 > 常规 > 日期和时间并将日期提前一天 或更多。
再次完全关闭设备,然后重新打开。
参考:https://developer.apple.com/library/ios/technotes/tn2265/_index.html
【讨论】:
解决根据测试需要再次显示推送通知权限对话框的问题 - 这当然是一种解决方法,但这里是:
刚刚完成了一个广泛使用推送通知的应用程序的工作,并尝试了所有常见的排列,但没有成功......我最终意识到解决这个问题的最简化的方法是让设备只使用用于测试(即低端 iPod Touch)。
要重置对话框,请执行设置 > 常规 > 重置 > 删除所有内容和设置。完成设备的设置过程,重新安装应用程序并开始。
这是我发现在开发/测试过程中按需测试“首次发布”体验的唯一方法。它还为该过程增加了许多额外的多功能性。
本不应该诉诸这一切,但我很高兴我做到了,因为这真是天赐之物。 FWIW。
[附注在未来测试操作系统的 beta 版本等时,它可能也很方便。]
【讨论】:
在启动时,您的应用应通过以下方式请求令牌:
- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types
并将在委托消息中从 iOS 获取令牌:
– application:didRegisterForRemoteNotificationsWithDeviceToken:
iOS 将提示用户仅在必要时允许通知。如果您的应用已授权远程通知,则不会出现警报,并且您的应用将获得一个有效的令牌。
净是你不能强制警报,但你不需要。
【讨论】:
application:didRegisterForRemoteNotificationsWithDeviceToken: 或application:didFailToRegisterForRemoteNotificationsWithError: 之一
是的。
http://developer.apple.com/library/ios/#technotes/tn2265/_index.html
如果您想模拟应用的首次运行,可以将应用卸载一天。您可以通过将系统时钟提前一天或更长时间,完全关闭设备,然后重新打开设备来实现后者,而无需实际等待一天。
【讨论】:
暂时更改您的包 ID。
com.mycompany.app -> com.mycompany.app1
【讨论】: