【发布时间】:2016-03-05 23:32:24
【问题描述】:
是否可以在最新的 ios 上让跟踪应用每 x 分钟唤醒一次,以便将存储的位置发送到 url,即使用户没有移动?
应用要求的功能是:
应用正在根据距离过滤器获取位置(例如:当用户移动超过 10 米时,仅通过 gps 获取坐标。
不允许应用程序将每个新位置立即发送到 url
应用应存储最近 3 分钟的所有新位置
应用程序应以 3 分钟的间隔发送存储的位置(最后 3 分钟)。 (!即使用户有一段时间没有移动,应用程序也应该连接到 url。
应用主要在后台运行。
示例: 用户在 9:00:11 移动了 10 多米到位置 53.432、13.245,在 9:01:20 移动到位置 53.235、13.435 以及在 9:03:10 移动到位置 54.002、13.768。 9:15:00 前不得再移动超过 10 米。 所以从 9:00:00 到 9:15:00 设备已经定位了 3 个坐标。 来自服务器的命令是:从 9:00:00 开始,每隔 3 分钟发送一次所有位置。
请求的结果是: 在 9:03:00 应用程序发送从 9:00:00 到 9:03:00 的所有位置: 9:00:11: 53.432, 13.245, 9:01:20: 53.235, 13.435
应用程序在 9:06:00 发送从 9:03:00 到 9:06:00 的所有位置: 9:03:10: 54.002, 13.768
应用程序在 9:09:00 发送从 9:06:00 到 9:09:00 的所有位置: “没有新职位”....
问题是: 必须唤醒应用程序,以便处理向服务器发送信息等操作。 一个可以唤醒应用程序的事件是超过 10 米的移动。 但由于用户在 9:03:10 到 9:15:00 之间没有移动,因此没有唤醒应用程序的事件。应用程序保持暂停状态,不会在 9:15:00 下次移动之前发送 9:03:10 的位置
解决方案? 还有其他可能让应用程序在 9:06:00 唤醒并发送存储的位置吗? 应用可以有一个内部定时器来唤醒吗?
(根据我的理解,计时器应用程序没有唤醒,应该发出警报声。相反,它正在安排在警报时触发本地通知。)
但如果可以安排本地通知,应用程序就不能安排其他操作,例如“叫醒我”吗?
非常感谢您的时间和帮助!
【问题讨论】:
-
欢迎 - 到目前为止,您有什么代码可以唤醒您的项目?如果您启动 Xcode 并搜索多任务概述的文档,您可以掌握可用的 API,如果您正在寻找更多的文档而不是特定的代码支持。另外,在后台执行中实现长时间运行的任务的关键......
-
嗨,bmike,感谢您的回答。我们还没有开发应用程序。而且我不知道要使用的代码。 (我希望可以在这里发帖,即使我自己不是开发人员。)一位朋友想使用距离过滤器来唤醒应用程序。但我对他关于唤醒应用程序的看法表示怀疑:据他说,只有一种可能性可以保证,该应用程序可以唤醒并发送存储的位置:“只有当 gps 永久运行时,应用程序才能处理类似的操作发送存储的位置。”这对我来说听起来很奇怪。