在iOS11中,如何让后台任务运行超过10分钟?

时间:2017-10-31 06:37:09

标签: ios iphone swift background-process ios11

我的问题涉及在后台保留监控用户互动的应用,例如在一个或应用中花费的时间。如果您的后台进程运行时间超过10分钟或违反Apple的沙盒限制,则会出现此问题。由于我对Apple API相对较新,并且找不到不涉及位置服务或VOIP的直接答案(这两个都是有趣的选项,但我的应用程序无法使用它们),我来问我可以理解其他应用程序何时打开,何时关闭,何时获取数据,以及当用户以某种方向持有电话时(即当人们以特定角度握住手机阅读文本等)一定数量的选项时时间。

此分析的目的是预测用户的注意力范围,因此我需要能够在后台运行,因为用户在预测注意力范围时不会使用我的应用程序。

我对此的想法可能是访问系统日志,并以某种方式解析以前的语句(我不认为沙盒会允许),但不可避免地,iOS系统将暂停我的进程,除非我放一个计时器。还有一个选项可以让系统通过机会性提取唤醒我的应用程序,但如果我不收集数据,这将没有用。

请记住,这是在IOS 11中,因此它比以前的迭代更具限制性。我知道这可能看起来像一个复杂的问题,但即使是一个方向,对我来说也是有用的。

1 个答案:

答案 0 :(得分:0)

此解决方案可能有效,(不推荐使用,因为它可以更快地耗尽电池)。 只需每10分钟更新一次您当前的位置。它将重置后台线程计时器。