在iOS8之后,使用之前的定位方法,程序接收不到应用调用系统服务的提示,在这里需要稍微做一下修改。
在iOS8中,定位的使用有两种,一种是在使用该应用的时候访问用户的位置信息;另外一种是允许在并未使用应用程序的时候访问用户的位置信息。
修改如下:需要在plist文件中添加两个默认缺省的字段,
- “NSLocationAlwaysUsageDescription”,这个提示是说“允许应用程序在您并未使用该应用程序时访问您的位置吗?”,“NSLocationAlwaysUsageDescription”对应的值是告诉用户使用定位的目的或者是标记;
- “NSLocationWhenInUseDescription”,这个提示是说“允许应用程序在您使用该应用程序时访问您的位置吗?”。
具体代码如下:
self.locaManager = [[CLLocationManageralloc]init];
if ([[UIDevicecurrentDevice] .systemVersionfloatValue] >= 8.0)
{
[self.locaManager requestAlwaysAuthorization];
}
//设置代理
self.locaManager.delegate =self;
self.locaManager.desiredAccuracy =kCLLocationAccuracyBest;
self.locaManager.distanceFilter = 1000.0f;
//开始定位用户的位置
[self.locaManager startUpdatingLocation];
运行程序: