use*_*438 31 xcode objective-c cllocationmanager cllocation ios
我正在尝试获取当前位置,但是didUpdateLocations中的断点永远不会被调用.
的LocationManager:
locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager setDesiredAccuracy:kCLDistanceFilterNone];
[locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)
代表方法:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
Run Code Online (Sandbox Code Playgroud)
我确认了位置服务并启用并授权.
为什么没有像它应该调用locationManager委托方法?
谢谢,迈克
Mar*_*ass 70
此外,在iOS8中,你必须有两件额外的东西:
添加一个密钥Info.plist并请求位置管理员授权启动.
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
您需要请求相应位置方法的授权.
[self.locationManager requestWhenInUseAuthorization]
[self.locationManager requestAlwaysAuthorization]
代码示例:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
// Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7.
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)
资料来源:http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/
Tim*_*eit 30
当我遇到这个问题时,这是由于线程问题.
确保在主线程上调用所有这些方法.非常重要的是,不仅要startUpdatingLocation在主线程上调用该方法,还要调用其他方法.
您可以通过将代码包装在主线程上来强制代码在主线程上运行
dispatch_sync(dispatch_get_main_queue(), ^{
});
Run Code Online (Sandbox Code Playgroud)
还看看这个答案.
确保将CLLocationManager添加为属性.
@property (nonatomic , strong) CLLocationManager *locationManager;
Run Code Online (Sandbox Code Playgroud)
是的,该属性是我的解决方案,并且最好检查位置服务是否已启用:
if ([CLLocationManager locationServicesEnabled]) {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[self.locationManager startUpdatingLocation];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32427 次 |
| 最近记录: |