ios - 如何创建无限期地每 n 分钟调用一次的后台函数

标签 ios ios7 background-process

这个问题在 github 上以不同的形式存在,但这个问题是特定的。我正在创建一个记录位置的 iPhone 应用程序。我试图每 5 分钟记录一次位置,即使应用程序在后台并且用户没有移动时也是如此。到目前为止,我已经尝试了以下方法;

使用 CoreLocation 触发事件 - 如果手机静止不动,则不会触发位置事件,因此在 bg 中每 4 分钟记录一次是行不通的。

使用 Perform Fetch to 读取最后位置 - 这似乎在它喜欢的时候触发,无法让它每 5 分钟可靠地触发一次

使用后台任务和 NS 计时器 还没有尝试过但似乎可行 ** 因为这不会在应用商店中进行,有没有办法调用 bgtask 来启动另一个 bg 任务在它死之前?

****这个应用不需要apple批准

最佳答案

如果您需要为内部应用程序执行此操作 - 您是说该应用程序不需要 Apple 批准 - 那么您可以将您的应用程序设置为 VOIP 应用程序。在您的 info.plist 文件中,您设置了相应的后台模式,然后您可以调用 UIApplication:setKeepAliveTimeout 来告诉 iOS 您需要一些后台处理时间的时间间隔。最短间隔为 10 分钟。

关于ios - 如何创建无限期地每 n 分钟调用一次的后台函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23160939/

相关文章:

flutter - 无法使用工作管理器在后台执行异步方法

asp.net - 我可以使用线程在 IIS 上执行长时间运行的作业吗?

ios - 如何在 UIView 中自定义此图像选项卡,使用 @IBDesignable 和 @IBInspectable 更好

ios - 为 GCD 操作设置超时

ios - Swift:NSTimer 内存泄漏

iphone - ScrollView 仅在 View 出现第二次时才开始滚动

ios - 嵌套 UICollectionViews 与 UIPageViewController

ios - 需要带 alpha 的导航栏但没有半透明模糊

ios - Xcode 5.1 上的错误 Apple Mach-O 链接器警告

java - 即使启动了新 Activity ,也让应用程序留在后台