草庐IT

monitoredRegions

全部标签

ios - 位置管理器 stopMonitoringForRegion 不工作

我目前正在开发的一个应用程序在后台运行时会根据用户的当前位置设置区域监控。当应用程序再次激活时,我试图停止对该区域的监控,但它似乎在大部分时间间歇性地工作,导致它无法按预期运行。当应用程序在后台运行时,我开始监视该区域,当我记录详细信息时它工作正常:-(void)locationManager:(CLLocationManager*)managerdidStartMonitoringForRegion:(CLRegion*)region{DDLogInfo(@"CREATEDREGION:%@",region.identifier);}这导致以下日志:“创建的区域:regionFor:

ios - CLLocationManager monitoredRegions (NSSet) 不正确,或者其他原因?

我想在每次用户经过商店数组中的一家商店时检查,我有20多家商店,因此我编写了一个函数来查找距离用户位置最近的20家商店并监控它们。在locationManager:didUpdateLocations上更新列表,我还将旧的20个受监控区域替换为新的20个最近的商店位置。问题是当用户进入一个区域时,locationManager:didEnterRegion没有被定期调用。我还注意到,当我检查locationManager.monitoredRegionsNSSet时,由于某种原因,那里的区域是错误的(我用if句子所以也许它们是正确的而且更短?)。如果有人可以检查我的代码并可能注意到我做