我正在开发一个 iOS 应用程序,它在后台永久使用定位服务来监控信标和 GPS 区域。如果设备不在我的 iBeacon 位置附近,这会导致我的应用无用地消耗电池。它还总是在状态栏中显示定位服务蓝色箭头,这让我的用户对我的应用产生了不好的印象。
我希望能够永久避免使用定位服务,但仍然能够检测到 iBeacon。我认为定期唤醒我的应用程序以检查位置以查看设备是否在我的 iBeacon 位置附近会节省电池并允许我定位设备而无需始终在状态栏中显示位置服务蓝色箭头。
这个解决方案可行吗?或者您认为有更好的解决方案吗?
最佳答案
当您的应用在后台寻找信标时,iOS 已经针对电池使用进行了优化。我的测试表明,额外的电池使用量很少,当您的应用程序处于后台时,蓝色箭头位置图标不会显示,摘录了非常短暂的时间(大约 10 秒),其中信标暂时被唤醒检测到信标后,您的应用进入后台。
您确定是您的应用导致出现蓝色箭头吗?这真的会长时间在后台发生吗?您是否在 plist 中不必要地设置了位置背景模式?
关于ios - 定期唤醒 iOS 应用程序以检查位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26023502/