没有位置服务的 iOS 后台轮询

Posted

技术标签:

【中文标题】没有位置服务的 iOS 后台轮询【英文标题】:iOS background polling without location services 【发布时间】:2012-06-05 10:11:34 【问题描述】:

这是一个我们都想知道很多次的问题,但似乎没有人能给出好的答案。

像 DataMan 这样的应用程序如何在后台定期、无限期地运行,并且仍然进入应用商店?

该应用允许用户打开“精确数据跟踪”并选择应用在零用户交互的情况下更新其数据使用计数器的频率 - 间隔为每分钟一次、每 10 分钟一次和每 20 次分钟。

是的,我已经阅读了所有相关的Apple Documentation on background processes 并成功实现了其中的许多。我也有explored the ins and outs of this old post,但它已经足够老了,许多“漏洞”已经被修补,而且文档中的东西也能更好地工作。

虽然我很幸运地将我的应用程序注册为 VOIP 应用程序并在特定时间间隔请求保持活动状态,但除非它是 VOIP 应用程序(DataMan 不是),否则它不是 app-store-ok。此外,注册 VOIP keep-alives 实际上并没有表现出与 DataMan 相同的行为......VOIP keep-alive 呼叫以某种随机间隔出现,或者至少以您选择的频率而不同步到时钟时间。 DataMan 实际上符合时钟规定的时间间隔,并在 :10、:20、:30 分钟标记处更新其数据计数器。

有什么想法吗?

【问题讨论】:

【参考方案1】:

根据their support site,他们的专业版刚刚被苹果撤下。我敢打赌他们的其他版本是下一个。

仅仅因为你设法偷偷溜过审查团队并不意味着他们以后不会抓住它,或者其他人会成功。如果他们不提供其中一项经批准的后台服务,他们所做的显然违反了 Apple 的指导方针。

【讨论】:

以上是关于没有位置服务的 iOS 后台轮询的主要内容,如果未能解决你的问题,请参考以下文章

在启动时在iOS中启动位置感知后台服务

在 android 服务的单独线程中运行位置更新

定位服务 GPS,设置高优先级

在 iOS 中获取 iPhone 位置,无需将“位置服务”设置为“开”

iOS CoreLocation 在后台

iOS 8 中的定位服务:后台模式