我正试图用iBeacon实现Geofencing。该
this.fireauth.auth.onAuthStateChanged
被调用,但是
didStartMonitoringFor
&当应用未运行时,didEnterRegion
未被调用。
我在didDetermineState
中呼叫requestState
。所以第一次调用didStartMonitoringFor
。但是在位置变化时不会被调用。有人可以帮助我吗?
提前致谢!
答案 0 :(得分:0)
感谢上帝!我自己得到了答案。
我一直在主屏幕类中执行所有声明和委托方法实现。我将所有部分都改为AppDelegate
级。还对位置管理器的属性进行了一些更改
locationManager.delegate = self
locationManager.activityType = .automotiveNavigation
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.distanceFilter = 10.0
locationManager.requestAlwaysAuthorization()
同时实现了两种委托方法
func locationManager(_ manager: CLLocationManager, didStartMonitoringFor region: CLRegion){
manager.requestState(for: region)
}
func locationManager(_ manager: CLLocationManager, didDetermineState state: CLRegionState, for region: CLRegion) {
if state == .inside
{
addNotification(region: region)
}
}
func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
addNotification(region: region)
}
它有效!