【问题标题】:How to show "Would like to send you Push Notifications" Alert View again?如何再次显示“想向您发送推送通知”警报视图?
【发布时间】:2011-12-23 09:50:09
【问题描述】:

注册远程通知后,我能够显示如上图所示的警报视图。 但是当我删除我的项目应用程序并重新构建它时,它不会再显示了。

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

我喜欢再次获取我的设备令牌,因为我未能将设备令牌临时存储在 NSUserDefaults 中。

【问题讨论】:

    标签: ios push-notification


    【解决方案1】:
    1. 从设备中删除您的应用。

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

    3. 转到设置 > 常规 > 日期和时间并将日期提前一天 或更多。

    4. 再次完全关闭设备,然后重新打开。

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

    【讨论】:

      【解决方案2】:

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

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

      要重置对话框,请执行设置 > 常规 > 重置 > 删除所有内容和设置。完成设备的设置过程,重新安装应用程序并开始。

      这是我发现在开发/测试过程中按需测试“首次发布”体验的唯一方法。它还为该过程增加了许多额外的多功能性。

      本不应该诉诸这一切,但我很高兴我做到了,因为这真是天赐之物。 FWIW。

      [附注在未来测试操作系统的 beta 版本等时,它可能也很方便。]

      【讨论】:

      • 有一个更好的方法来做到这一点 - developer.apple.com/library/ios/technotes/tn2265/_index.html 滚动到该技术说明的底部(“在 iOS 上重置推送通知权限警报”)以查看重置推送通知权限而不重置的说明设备。如果您不能使用专用的开发设备,并且不想每次都重置您的个人设备,这将非常有用。
      • 这与@Sid 的评论相结合是正确的答案。我在 sid 引用的链接上遵循了该过程,并且能够重复显示警报。虽然擦除所有内容和设置更实用,但并不是每个人都有一个仅用于测试的 iDevice。
      【解决方案3】:

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

      - (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types
      

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

      – application:didRegisterForRemoteNotificationsWithDeviceToken:
      

      iOS 将提示用户仅在必要时允许通知。如果您的应用已授权远程通知,则不会出现警报,并且您的应用将获得一个有效的令牌。

      净是你不能强制警报,但你不需要。

      【讨论】:

      • 我的应用程序是否总是会进入此方法 - application:didRegisterForRemoteNotificationsWithDeviceToken: 在启动时?在家还不能测试,明天上班去看看
      • 您将始终获得application:didRegisterForRemoteNotificationsWithDeviceToken:application:didFailToRegisterForRemoteNotificationsWithError: 之一
      • 我明白了,我收到了这个错误,没有有效的'aps-environment,无论如何谢谢你的回答:D
      • 确定。阅读 APNS 上的文档。您的应用尚未正确配置。 FWIW,不确定您要构建什么,但要在您的应用程序中实现远程通知,您还需要后端服务。 Apple 的文档也涵盖了这一点。
      • 已经好了,有多个配置文件,只是删除了不必要的配置文件并使用带有推送通知的配置文件,再次感谢
      【解决方案4】:

      是的。

      http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

      如果您想模拟应用的首次运行,可以将应用卸载一天。您可以通过将系统时钟提前一天或更长时间,完全关闭设备,然后重新打开设备来实现后者,而无需实际等待一天。

      【讨论】:

      • 显然这已经被破坏了,Apple 已经打开了一个错误报告。
      • Apple 说这仅适用于 iOS
      【解决方案5】:

      暂时更改您的包 ID。

      com.mycompany.app -> com.mycompany.app1

      【讨论】:

      • 我发现这是一种更简单的方法来反复测试您的应用,而不是关闭您的设备并设置不同的日期。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 1970-01-01
      相关资源
      最近更新 更多