我已经查阅了大约 3 个不同的页面来了解它是如何工作的。但是,我真的可以使用一些帮助,因为我得到 kCLError = 15。这是我到目前为止所拥有的,然后我会解释更多。
locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self]
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager startUpdatingLocation];
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *currentLocation = [locations lastObject];
NSLog(@"%@",[locations lastObject];
NSLog(@"%d",[CLLocationManager deferredLocationUpdatesAvailable]);
[locationManager allowDeferredLocationUpdatesUntilTraveled:CLLocationDistanceMax timeout:CLTimeIntervalMax];
在此之后我有我的错误代码
-(void)locationManager:(CLLocationManager *)manager didFinishDeferredUpdatesWithError:(NSError *)error
{
NSString *stringError = [NSString stringWithFormat:@"error: %@",[error description]];
_whatMonitor.text = stringError;
}
所以,任何可以帮助我的人,我都会非常感激。我也有位置数组的计数,但这永远不会从 1 改变。我的理解是,在将应用程序关闭到主屏幕并锁定设备后,deferredUpdates 应该启动。我已经检查了 [locations count] 和它仍然是 1。我希望它比这更大..
我并不声称自己很擅长这一点,所以如果我犯了一个粗心的错误,请告诉我。我没有复制和粘贴,所以可能有一些小错别字。提前致谢。
我在 iPhone 5 上运行 iOS 6.0。