iOS8 定位补充

时间:2022-08-13 22:47:37

iOS 8定位补充

iOS 8定位需要修改2个地方

1.info.plist文件中添加NSLocationAlwaysUsageDescription:描述信息

从iOS 8开始,用户定位分两种情况
总是使用用户位置:NSLocationAlwaysUsageDescription
使用应用时定位:NSLocationWhenInUseDescription

2.在CLLocationManager中调用

- (void)requestAlwaysAuthorization

- (void)requestWhenInUseAuthorization

#import "ViewController.h"
#import <CoreLocation/CoreLocation.h> @interface ViewController () <CLLocationManagerDelegate> @property(nonatomic,strong)CLLocationManager *mgr; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; [self.mgr startUpdatingLocation]; // 如果是iOS8,需要请求授权方式(进行判断,否则在iOS7会崩溃,需要先在info.plist中配置)
// 1.通过判断系统判断来确定是否需要请求requestAlwaysAuthorization授权
// if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
// [self.mgr requestAlwaysAuthorization];
// }
// 2.通过判断是否有该方法来判断是否需要请求requestAlwaysAuthorization授权
if ([self.mgr respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[self.mgr requestAlwaysAuthorization];
}
} - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
NSLog(@"获取到用户的位置");
} - (CLLocationManager *)mgr
{
if (_mgr == nil) {
_mgr = [[CLLocationManager alloc] init];
_mgr.delegate = self;
} return _mgr;
} @end