gpt4 book ai didi

具有 "location"后台模式的 iOS 长时间运行的后台计时器

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:30:39 25 4
gpt4 key购买 nike

我想实现长时间运行的后台计时器,它会定期将用户的位置发送到服务器。

为此,我为 UIBackgroundModes 设置了 location 模式,并在应用程序进入后台时调用 beginBackgroundTaskWithExpirationHandler。而对于 CLLocationManager,我使用了 startUpdatingLocation 方法(不想使用重大更改,因为我需要高精度定位)。

但是在应用程序进入后台大约 26 分钟后,它停止向服务器发送位置信息。但是应用程序没有崩溃,所以在我将应用程序调到前台后,它可以恢复其计时器。

26 分钟来自实验,iOS 6.1,iPhone 5。

这里有一些问题,

  1. 我不明白为什么它会在 26 分钟而不是 10 分钟后挂起,这被称为后台任务的时间限制。

  2. 在 16 分钟之前,backgroundTimeRemaining 方法返回 double 最大值。但 16 分钟后,它从 600 减少,因此它在 10 分钟后暂停后台任务。

我已经尝试在到期处理程序中调用 beginBackgroundTaskWithExpirationHandler,但没有用。

如果有人知道这个问题的线索,将不胜感激。

最佳答案

https://github.com/voyage11/Location

使用此代码。您可以设置要调用它的时间间隔。我尝试了很多代码,但我发现这是最准确且电池问题最少的代码。这对于后台定位服务来说也很棒。 :)

关于具有 "location"后台模式的 iOS 长时间运行的后台计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com