我正在尝试添加第二个区域。那个 Region2 没有出现,所以在我调试时我删除了我从 Region2 中拥有的所有内容,并将 Region2 的坐标放入我为 Region1 拥有的坐标中(按预期工作)。但是地理围栏从来没有移动过位置(它们在整个城市,没有重叠,它们的半径只有 100m)。当我在模拟器中移动我的位置时,即使我已经在城市中设置了 Region1 地理围栏,模拟器仍然会在我创建的原始地理围栏处显示“输入:这个地方”。
所以我继续调试 - 当我将 Region1 的标识符更改为“TEST TEST”时,它仍然会打印出“This Place”,即使我的任何其他文件中都没有“This Place”。以前有人发生过这种情况吗?如果是这样,你是如何解决的?
let geoFenceRegion = CLCircularRegion(
center: CLLocationCoordinate2DMake(latitudeOfRegion,
longitudeOfRegion),
radius: 100,
identifier: "This Place")
geoFenceRegion.notifyOnEntry = true
geoFenceRegion.notifyOnExit = false
manager.startMonitoring(for: geoFenceRegion)
我使用 locationManager 函数 didExit/didEnterRegion 并打印出“Entered: (region.identifer)”或“Exited: (region.identifier)”只是为了测试我是进入还是退出该区域。
编辑:我尝试注释掉这整个代码块,即使我这样做了,模拟器仍然显示“输入:这个地方”。我不是从代码中的其他任何地方调用它。