【发布时间】:2019-10-04 14:54:58
【问题描述】:
我正在开发一个与本地 Web 服务器通信并从它(通过 WebSockets 或 HTTP)接收数据而不使用互联网连接的应用程序。
因此,即使 iPhone 处于待机状态,我也需要找到一种在不使用 Apple Push Notifications 服务的情况下从服务器接收推送通知的方法,以便通知显示在 Apple Watch 上。例如,我的想法是将数据从服务器发送到 iPhone 客户端,然后在本地创建通知。为此,我需要在后台运行我的应用,但我发现的模式无法帮助我。
-运行任意一段代码:例如,我可以在按 Home 后在后台运行应用程序最多 3 分钟。如果可能的话,我需要让应用程序“永远”在后台执行,以便从服务器接收数据并进行处理。
-后台获取:此模式不可靠,因为我无法控制何时执行我的代码,但 iOS 会根据用户的行为和其他条件来决定。
我阅读了有关静默推送通知、VOIP (PushKit) 的信息,但我不明白您是否需要 APN 才能使它们正常工作。
这篇文章是否也描述了静默推送通知? https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app#see-also
如果是,那么我每小时使用静默推送通知的次数不能超过 2/3 次,而且它被认为是低优先级,不可靠...
这里说从 iOS13 开始我不能再对非 VOIP 应用程序使用 VOIP 模式:Can I use PushKit to do regular push with out using VoIP? Will it allow killed app to be launched in background if user does not act on notification?
如果您无法访问互联网并根据事件在后台唤醒应用程序,是否有一些方法可以绕过 APN?
谢谢:)
【问题讨论】:
标签: ios swift websocket apple-push-notifications background-process