我正在尝试记录用户的位置随时间变化。如果用户在移动,它可以正常工作并可靠地调用委托方法didUpdateToLocation。然而,如果用户静止不动且应用程序在后台运行一段时间后,委托方法将不再被调用。要重新启动它,需要将应用程序带到前台。一旦活动状态恢复,委托方法又会可靠地被调用。
我最初认为这可能是因为CLLocationManager对象在ViewController中声明,所以我将其更改为在AppDelegate中声明,但也没有帮助。
我还尝试了distanceFilter属性,但无济于事。我目前正在使用以下代码从View controller中设置它。请注意,对象本身在AppDelegate对象中声明和初始化。
我最初认为这可能是因为CLLocationManager对象在ViewController中声明,所以我将其更改为在AppDelegate中声明,但也没有帮助。
我还尝试了distanceFilter属性,但无济于事。我目前正在使用以下代码从View controller中设置它。请注意,对象本身在AppDelegate对象中声明和初始化。
app.locationManager.delegate = self;
app.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
app.locationManager.distanceFilter = kCLDistanceFilterNone;
[app.locationManager startUpdatingLocation];
有其他人遇到过这个问题吗?任何指针都将不胜感激。我已经为此苦苦挣扎了几天。