【发布时间】:2020-01-17 09:21:47
【问题描述】:
我正在开发一个 iOS swift 应用程序用于旅行,该应用程序的概念是在与用户验证旅行之后,而在旅行中,该应用程序一直在寻找蓝牙信标,我正在使用这个库来做到这一点@ 987654321@
我看到这个库使用 CoreBluetooth,它在后台运行良好。问题是,由于进行了一次旅行,旅行甚至可以持续 1 到 2 个小时,而我需要在此期间扫描信标(例如每 15 秒一次)以记录用户所走的路线。
现在,每当我使用我的应用程序进入后台时,我只有 30 秒的信标范围,然后 iOS 会终止我的应用程序(可能是因为我没有我在论坛上看到的过期处理程序)但仍然我需要让信标的范围无限期地持续,从 10 分钟到 2 小时不等。
我怎样才能做到这一点?我在 iOS 方面不是那么有经验,所以请帮助我。
【问题讨论】:
-
问题是 当 iOS 认为这是一个好时机时会调用这个方法所以我不能不断地对信标进行测距,因为这是一项必要的任务并且需要发生。
-
你可以在这里使用位置管理器,位置管理器会在大约500米位移后打开你的应用程序,然后你可以继续做任何你想做的事情,应用程序会一直在后台运行。
-
@ShahzaibQureshi 你有任何可以帮助我的代码示例吗?并感谢您的回答
-
iOS 中没有选项可以让您的服务始终在后台运行。
标签: ios swift core-bluetooth