【发布时间】:2017-10-31 00:10:24
【问题描述】:
我想在我的应用程序中使用 Voip 推送作为静默推送通知的更可靠替代方案,并且还能够在推送到达时从终止状态启动应用程序。
[是的,我知道如果该应用不向用户额外提供 Voip 功能并且只是使用 Voip 推送而不是常规推送,则该应用不会在应用商店中被接受]。
但我想知道这样做是否有任何问题 - 例如,如果应用程序终止并且 Voip 推送到达,我注意到在启动它之后应用程序似乎并没有在之后再次终止。这使我相信操作系统可能期望在例如 Voip 通话结束后调用诸如 completion() 方法之类的东西?如果我不调用这个 completion() 方法,操作系统可能最终会停止向应用发送推送,因为它认为它的行为不好?
【问题讨论】:
-
是什么让您相信
completion()设施?推送到达后,您的应用是否在后台停留超过 30 秒? -
@sage444。我想知道是否应该有,这就是问题所在。我的应用程序通常不会在后台运行超过 30 秒,但如果从服务器下载速度很慢并且需要很长时间才能在速度较慢的手机上处理有效负载,则它可能会运行。
-
好的,我明白你的意思了。所以我的应用程序(真正的 VOIP 客户端,最小部署目标 9.0)不调用任何类型的完成块/回调。但正如您在 Tim 的回答中看到的,它可能因 iOS 版本而异。
-
还有一点。将 PushKit 与其他后台执行机制混用可能会很棘手且难以维护,尤其是在您需要支持多个版本的 iOS 时。
-
@sage444 请您详细说明一下。我只支持>= iOS 10。它只是我正在使用的推送工具包中的推送通知,没有别的
标签: ios