【问题标题】:How continue doing iOS location tracking even after the app is killed?即使在应用程序被杀死后如何继续进行 iOS 位置跟踪?
【发布时间】:2018-01-26 17:03:23
【问题描述】:

当满足以下条件时,我在尝试启用持续位置跟踪时遇到问题:

  • 后台提取被禁用
  • 应用被杀死

发生上述情况时,位置更新将停止。我试图让我的服务器发送推送通知以唤醒应用程序,但如果应用程序被终止,它们不会到达。

令人费解的是,类似的功能似乎在 WhatsApp (the live location) 上运行良好。在 WhatsApp 上,即使我禁用后台获取并终止应用程序,它也会设法再次唤醒它以发送更新的位置信息。

有人知道他们在做什么吗?

【问题讨论】:

  • 否,因为该答案明确提到您需要“启用后台获取和位置更新的项目设置”。即使后台获取已关闭,WhatsApp 也能正常工作。

标签: ios apple-push-notifications core-location


【解决方案1】:

似乎 WhatsApp 可以使用 PushKit 来解决这个问题。根据this question

WhatsApp 可以将 VOIP 后台模式与 PushKit 一起用于 解决这个问题。

VoIP 推送是:

  • 直接发送到应用程序。
  • 考虑了高优先级通知,并立即发送。
  • 即使应用被用户强制退出,也会交付。

我还创建了一个快速示例应用程序来尝试这个,它就像一个魅力。但是,再次根据链接的问题,Apple 并没有真正允许这种解决方案:

Apple 不再允许将 API 用于非 VOIP 应用的推送通知。但是,他们确实允许 WhatsApp 以无限公平的方式进行操作。

【讨论】:

  • 你实现了吗(在应用程序被杀死时跟踪用户位置)。如果是,请分享代码,以便对我有所帮助。即使我也面临同样的问题。
【解决方案2】:

使用significant-change location 服务。即使应用程序终止,它也能正常工作。

【讨论】:

  • 我也已经这样做了,如果我在我的问题中描述的场景存在,它并没有多大帮助。 :(
猜你喜欢
  • 1970-01-01
  • 2017-01-13
  • 1970-01-01
  • 2013-06-23
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多