0
我面临很奇怪的问题。位置管理器委托方法没有被调用,但如果我检查_locManager.location
那么它给了我更新的位置。Xcode:didUpdateLocations没有打电话,但位置管理器正在更新
PS:NSLocationAlwaysUsageDescription
在plist中被提及。
另外我也打电话给[self.locationManager requestAlwaysAuthorization]
。
这里是位置管理器设置代码的要求。
dispatch_async(dispatch_get_main_queue(), ^{
_locManager = [[CLLocationManager alloc] init];
_locManager.delegate = self;
_locManager.distanceFilter = kCLDistanceFilterNone;
_locManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
_locManager.activityType = CLActivityTypeFitness;
if ([_locManager respondsToSelector:@selector(requestAlwaysAuthorization)])
{
[_locManager requestAlwaysAuthorization];
}
if ([_locManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)])
{
self.locManager.allowsBackgroundLocationUpdates =YES;
}
_locManager.pausesLocationUpdatesAutomatically=YES;
});
显示代码(您在哪里设置委托)。 – shallowThought
请将此密钥也添加到plist文件中NSLocationWhenInUseUsageDescription –
@JeckyModi我为什么要这样做?任何具体原因? –