【问题标题】:Offline notifications in iOSiOS 中的离线通知
【发布时间】:2012-01-02 13:30:46
【问题描述】:

根据 Apple.com 上的 APNS 参考,iOS 设备在离线/未连接到 3G 或 WiFi 或类似设备时无法接收通知。昨天我发现了一个应用程序(Pillboxie),它声称即使用户处于离线状态也能够通知用户。我引用:

“为了使用不需要网络连接的提醒技术,Pillboxie 只能在运行 iOS 4.0 或更高版本的设备上运行。”

“无需网络连接!”

这两个引用均来自 App Store 中的应用说明。

我还没有成功找出它是如何工作的,以及它是否像 APNS 一样可靠。有人知道上面引用中提到的离线通知服务吗?

【问题讨论】:

    标签: iphone ios push-notification uilocalnotification


    【解决方案1】:

    Pillboxie 使用 UILocalNotification 来做到这一点。

    它完全在应用程序本身上实现,不需要服务器端通知,甚至不需要互联网连接。

    您将无法使用它从服务器发送推送通知到需要互联网连接(wi-fi 或 3G)的用户设备。

    您可以在 Apple 的Local and Push Notification Programming Guide 中了解更多信息

    【讨论】:

      【解决方案2】:

      我相信他们指的是本地通知而不是远程通知。

      Loacl 通知本地存储在用户设备中。并且由 iOS 自己拍摄。

      来自 UIlocalnotification 参考:

      操作系统负责在适当的时间传递通知;应用程序不一定要运行才能发生这种情况。尽管本地通知类似于远程通知,因为它们用于显示警报、播放声音和标记应用程序图标,但它们是在本地编写和传递的,不需要与远程服务器连接。

      【讨论】:

      • 我确实是。我一直想知道为什么我无法在操作系统中安排警报等,但我认为这是完全可能的。谢谢。
      【解决方案3】:

      我是 Pillboxie 的开发者。 Felipe 是正确的:Pillboxie 使用 UILocalNotifications 来安排它的提醒。我选择本地通知而不是推送有几个原因。任何一种都有优点和缺点。我选择 UILocalNotification 是因为它更符合 Pillboxie 的严重医学性质:

      本地通知

      • 优点:无需管理您自己的服务器即可与 APNS 交互。非常可靠,总是准时;适用于经常没有网络连接的人(iPod Touch 和 iPad 用户);出国旅游时工作;自动调整为当前系统时区中的当前挂钟时间(如果您在 UILocalNotification 的时区属性中设置了参考时区)。
      • 缺点:每个应用最多有 64 个通知;只能以 1 分钟、1 小时、1 天、1 周等为单位重复。如果重复,则不能设置停止日期。

      【讨论】:

      • 过去几周我一直在使用该应用程序和 UILocalNotifications,我可以验证您列出的优缺点。感谢你的回答。还有很棒的应用程序,顺便说一句。
      【解决方案4】:

      实际上有两种类型的通知。

      • 推送 - 由 APNS 生成需要互联网连接
      • 本地 - 由应用程序在设备上生成

      因此,您引用的应用可能正在使用本地通知。检查docs for more

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-25
        • 1970-01-01
        • 2017-03-16
        • 2021-02-17
        • 1970-01-01
        • 2022-01-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多