問題
在iOS8之前敬矩,app第一次開始定位服務時,系統(tǒng)會彈出一個提示框來讓用戶選擇是否允許使用定位信息翩伪。但iOS8后侨舆,app將不會出現(xiàn)這個彈窗。第一次運行之后栗恩,在?設置->隱私->定位服務中透乾,你的app沒有任何設置,既不是“永不”磕秤,也不是“始終”乳乌。
解決方案
以上代碼在iOS8之后需要手動調(diào)用CLLocationManager對象的requestAlwaysAuthorization/requestWhenInUseAuthorization方法。 調(diào)用該方法需要在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