iOS8以上使用CoreLocation定位

1、在使用CoreLocation前需要调用如下函数

iOS8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法:

(1)始终允许访问位置信息

- (void)requestAlwaysAuthorization;

(2)使用应用程序期间允许访问位置数据

- (void)requestWhenInUseAuthorization;

示例如下:

self.locationManager = [[CLLocationManager alloc]init];
_locationManager.delegate = self;
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.distanceFilter = 10;
[_locationManager requestAlwaysAuthorization];//添加这句
[_locationManager startUpdatingLocation];

2、在Info.plist文件中添加如下配置:

(1)NSLocationAlwaysUsageDescription

(2)NSLocationWhenInUseUsageDescription

这两个键的值就是授权alert的描述,示例配置如下[勾选Show Raw Keys/Values后进行添加]:

时间: 2024-08-02 09:43:50

iOS8以上使用CoreLocation定位的相关文章

iOS8中使用CoreLocation定位

在iOS8中,苹果已经强制开发者在请求定位服务时获得用户的授权,此外iOS状态栏中还有指示图标,提示用户当前应用是否正在使用定位服务.另外在iOS8中,苹果进一步改善了定位服务,让开发者请求定位服务时需要向用户提供更多的透明.此外,iOS8中还支持让应用开发者调用全新的"访问监控"功能,当用户允许后应用才能获得更多的定位数据. iOS8以前使用CoreLocation定位 1.首先定义一个全局的变量用来记录CLLocationManager对象,引入CoreLocation.frame

iOS8中使用CoreLocation定位[转]

本文转自:http://blog.devzeng.com/blog/ios8-corelocation-framework.html iOS8以前使用CoreLocation定位 1.首先定义一个全局的变量用来记录CLLocationManager对象,引入CoreLocation.framework使用#import <CoreLocation/CoreLocation.h> @property (nonatomic, strong) CLLocationManager *locationM

iOS8以前与iOS8使用CoreLocation定位

iOS8以前使用CoreLocation定位1.首先定义一个全局的变量用来记录CLLocationManager对象,引入CoreLocation.framework使用#import <CoreLocation/CoreLocation.h>1 @property (nonatomic, strong) CLLocationManager *locationManager; 2.初始化CLLocationManager并开始定位 -(CLLocationManager *)locationM

第九章:使用CoreLocation定位

CoreLocation框架(CoreLocation.framework)可用于定位设备当前的经纬度,通过该框架,应用程序可通过附近的蜂窝基站.WIFI信号或者GPS等信息计算用户位置. iOS SDK提供了CLLocationManager.CLLocationManagerDelegate来处理设备的定位信息,包括获取设备的方向以及进行方向检测等.其中CLLocationManager是整个CoreLocation框架的核心,定位.方向检测.区域检测等都由该API完成:而CLLocatio

CoreLocation 定位

前言: 本章会使用OC和Swift分别进行实现,需要了解Swift的小伙伴可以翻一下之前的博文 LBS和SoloMo(索罗门) LBS:基于位置的服务,根据定位展示周边美食.景点等信息(全称:Location Bassed Service) SoloMo:将位置社交.本地.移动化(全称:Soclal Local Moblle) 社交化:在APP内加入一些社交元素,进行位置分享等 本地化:基于LBS周边的搜索等服务 移动化:基于3G\4G网络在移动APP上的服务 CoreLocation介绍 定位

在iOS8下使用CLLocationManager定位服务需要系统授权

最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下的定位服务需要申请授权了. 具体代码如下: 1 if ([CLLocationManager locationServicesEnabled]) { 2 3 self.locationManager = [[CLLocationManager alloc] init]; 4 5 _locationM

iOS-----使用CoreLocation定位

使用CoreLocation定位 CoreLocation框架 (CoreLocation.framework)可用于定位设备当前经纬度, 通过该框架, 应用程序可通过附近的蜂窝基站\WIFI信号 或者GPS等信息计算用户位置. iOS SDK提供了CLLocationManager.CLLocationManagerDelegate来处理设备的定位信息,包括获取设备的方向以及进行方向检测等. 其中CLLocationManager是整个CoreLocation框架的核心,定位.方向检测.区域检

适配ios8.0/7.0定位

现象 假如你用做ios8之前的定位去在ios8.0的机子上跑的话,你会发现 诶?怎么定位功能不能用了,右上角那个定位的小图标不出来.这时你应该去了设置里面看看隐私--定位,看到没有开启,然后改成始终,然后程序重新跑过,然后你又发现还是不能用...于是你又去设置那里看看,靠 发现改成的始终怎么给取消了..(其实这就是我..) 原因 在以前的IOS版本中当开始使用定位服务时会自动弹出询问授权的对话框,而现在IOS8需要手动调用locationManager requestAlwaysAuthori

ios8 - CoreLocation定位服务的变化

在iOS8开发中,发现一个CoreLocation的使用问题,执行操作之后,不会调用到定位之后的delegate方法中. 根据文档,需要在使用CoreLocation前调用方法: [locationmanager requestAlwaysAuthorization]; [locationmanager requestWhenInUseAuthorization]; 并在Info.plist中加入两个字段(需手动输入添加,无选择项) NSLocationAlwaysUsageDescriptio