繁体   English   中英

迅速,当应用程序被杀死时将用户的当前位置发送到服务器

[英]In swift, send User’s current location to server while app is killed

我正在快速创建出租车司机应用程序。 即使应用程序被杀死,我也需要每 30 秒将驱动程序的当前位置发送到服务器。 我在应用程序处于前台或后台状态时找到了解决方案。 但是当应用程序被杀死时,我无法将位置发送到服务器。 尝试使用 VOIP 推送startMonitoringSignificantLocationChanges

  1. 当应用程序被终止并且每 30 秒接收一次VOIP推送时,我可以获得用户的位置,但是,我无法调用 API 并将位置发送到服务器。 任何人都可以在应用程序被终止时将数据发送到服务器的解决方案吗?

  2. 在应用程序被终止时使用startMonitoringSignificantLocationChanges我能够将位置发送到服务器,但需要 5 到 10 分钟才能在他/她开车时获取用户的更新位置。 我多次尝试从一个地方到另一个地方旅行。 Apple 文档告诉当用户的位置发生显着变化(例如 500 米)时,位置会更新。 但实际上,它会更新 5 公里到 7 公里的行程。 任何人都可以解决它吗?

应用程序刷新是好主意,但iOS的允许在后台只有35到40秒唤醒在后台您的应用程序,所以你应该打电话给你的功能在这一段时间..这里是基于位置的后台任务很好的例子用法

和和和苹果文档说如果你使用静默推送通知。 但是,如果用户强制退出,系统不会自动启动您的应用程序..请参阅

“如果您的应用程序被用户或系统终止,当新的位置更新到达时,系统不会自动重新启动您的应用程序。 用户必须明确重新启动您的应用程序,然后才能恢复位置更新的交付。 让您的应用程序自动重新启动的唯一方法是使用区域监控或重大变化的位置服务。 但是,当用户全局或专门为您的应用禁用后台应用刷新设置时,系统不会针对任何位置事件(包括重大更改或区域监控事件)重新启动您的应用。 此外,当后台应用刷新关闭时,您的应用即使在前台也不会收到重大更改或区域监控事件。” 更多的...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM