iOS 应用程序使用地理围栏来通知用户预定义的附近位置。允许应用程序错过某个位置(用户没有收到有关附近位置的通知),但希望保持较低的丢失率。
实现这一点的一种方法是开始监视重大更改位置,startMonitoringSignificantLocationChanges
并且每次触发“位置更改”事件时,查找报告位置半径 500m 内的位置。
让我担心的是每次发生重大位置变化并影响电池时都需要对附近区域执行查询。
另一种方法是注册位置,startMonitoringForRegion
但 Apple 对同时跟踪的区域数量设置了(合理的)限制,即 20 个,而我们有超过 20 个位置。因此需要对跟踪区域进行某种动态更新,但我仍然不确定什么是最好的方法。
关于如何做到这一点的任何想法,以保持低电池消耗,同时降低位置丢失率?