iOS Processswift小技巧iOS学习

iOS8下的定位问题及解决方案

2014-11-21  本文已影响315人  千煌89

问题


在iOS8之前,app第一次开始定位服务时,系统会弹出一个提示框来让用户选择是否允许使用定位信息。但iOS8后,app将不会出现这个弹窗。第一次运行之后,在�设置->隐私->定位服务中,你的app没有任何设置,既不是“永不”,也不是“始终”。

解决方案


以上代码在iOS8之后需要手动调用CLLocationManager对象的requestAlwaysAuthorization/requestWhenInUseAuthorization方法。 调用该方法需要在Info.plist中设置NSLocationAlwaysUsageDescription/NSLocationWhenInUseUsageDescription的值。

代码如下:

- (void)viewDidLoad{
    [super viewDidLoad];
    CLLocationManager *manager = [[CLLocationManager alloc] init];
    manager.delegate = self;
    [manager requestAlwaysAuthorization];
    manager.desiredAccuracy = kCLLocationAccuracyBest;
    [manager startUpdatingLocation];
}

info.plist设置如下:


info.plist
上一篇 下一篇

猜你喜欢

热点阅读