iOS开发-定位服务iOS8.0以上授权

if ([UIDevice currentDevice].systemVersion.doubleValue > 8.0) {

[self.locMgr requestAlwaysAuthorization];

} else {

[self.locMgr startUpdatingLocation];

}

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {

if (status == kCLAuthorizationStatusNotDetermined) {

NSLog(@"等待用户授权");

}

if (status == kCLAuthorizationStatusAuthorizedWhenInUse || status == kCLAuthorizationStatusAuthorizedAlways) {

// 得到用户授权开始定位

[self.locMgr startUpdatingLocation];

} else {

NSLog(@"授权失败");

}

}

/**

*  当定位到用户的位置时,就会调用(调用的频率比较频繁)

*/

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {

// locations 数组里存放的是 CLLocation 对象, 一个 CLLocation 对象就代表着一个位置

CLLocation *loc = [locations firstObject];

// 纬度 : loc.coordinate.latitude

// 经度 : loc.coordinate.longitude

NSLog(@"纬度:%f, 经度:%f",loc.coordinate.latitude,loc.coordinate.longitude);

CLLocation *c = [[CLLocation alloc] initWithLatitude:loc.coordinate.latitude longitude:loc.coordinate.longitude];

//创建位置

CLGeocoder *revGeo = [[CLGeocoder alloc] init];

[revGeo reverseGeocodeLocation:c completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

if (!error && [placemarks count] > 0) {

NSDictionary *dict = [[placemarks objectAtIndex:0] addressDictionary];

NSLog(@"%@",[dict objectForKey:@"Country"]);

NSLog(@"%@",[dict objectForKey:@"State"]);

NSLog(@"%@",[dict objectForKey:@"SubLocality"]);

NSLog(@"%@",[dict objectForKey:@"Street"]);//  Country(国家)  State(城市)  SubLocality(区) Street(详细)

} else {

NSLog(@"ERROR: %@", error); }

}];

[self.locMgr stopUpdatingLocation];

}

时间: 2024-10-25 23:38:56

iOS开发-定位服务iOS8.0以上授权的相关文章

iOS开发 定位服务与地图

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO

iOS开发-定位服务和地理围栏

一.获得用户的位置使用CoreLocation框架.1.如果你的应用基于位置来正确运行,你应该在你的Info.plist中包括UIRequiredDeviceCapabilities键.App Store使用这个信息来阻止没有定位的设备下载该应用.UIRequiredDeviceCapabilities键对应一个字符串数组,包括:1)location-services字符串--如果你请求一般的定位服务2)gps--如果你请求GPS级的精度如果你的应用需要定位,但是没有定位也能正常运行,就不要包含

iOS开发手记-iOS8中使用定位服务解决方案

问题描述: 在iOS8之前,app第一次开始定位服务时,系统会弹出一个提示框来让用户选择是否允许使用定位信息.但iOS8后,app将不会出现这个弹窗.第一次运行之后,在设置->隐私->定位服务中,你的app没有任何设置,既不是“永不”,也不是“始终”. 代码如下: #import "XYZFirstViewController.h" @interface XYZFirstViewController () - (IBAction)LocateButtonClick:(id)

简易的IOS位置定位服务

有时一些小的需求.事实上仅仅是须要得知当前IOS APP使用的地点.有些仅仅是想精确到城市级别,并不须要不论什么地图. 有了下面的简易实现: @interface MainViewController ()<CLLocationManagerDelegate> .... @end @implementation MainViewController - (void)InitLocation { //初始化定位服务管理对象 self.locationManager = [[CLLocationM

iOS开发系列--Swift 3.0

概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行.在WWDC16上Apple公布了Swift3.0,从中可以看出Apple对Swift的重视,以及Swift开源半年以来的进步.尽管对于开发人员来说Swift3.0的变化会令你的程序几乎处处报错,但是试想一下如果Apple没有追求极致的精神又怎么会做出如此多的更改.今天的文章将重点介绍:What's

ios CoreLocation定位服务

CoreLocation导入框架  :#import <CoreLocation/CoreLocation.h> 需要了解的基本的属性和方法: 属性: 定位管理者:CLLocationManager 请求定位权限:requestAlwaysAuthorization 开始获取位置:startUpdatingLocation 停止获取位置:stopUpdatingLocation 授权认证状态:CLAuthorizationStatus 过滤定位的距离:distanceFilter 定位所需精度

iOS开发解决:iOS8.1中UIBarButtonItem的setTitleTextAttributes对Disabled颜色设置无效问题

(1)情景:在iOS8.1中,我们通常会利用如下语句,设置全局的导航条按钮item的主题 UIBarButtonItem *item=[UIBarButtonItem appearance]; NSMutableDictionary *textAttrs=[NSMutableDictionary dictionary]; textAttrs[NSForegroundColorAttributeName]=[UIColor orangeColor]; [item setTitleTextAttri

微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录

搞清微信公众号授权登录的步骤步骤,我们的开发就完成了一大步 献上github 地址: https://github.com/Wechat-Group/weixin-java-tools/wiki/MP_OAuth2%E7%BD%91%E9%A1%B5%E6%8E%88%E6%9D%83 第一步:需要在微信后台配置:注意,只填写自己的域名 2.配置完毕后,构建网页授权url,配置重定向地址 3.当用户同意授权后,会回调所设置的url并把authorization code传过来 4, 拿到这个co

iOS开发——设备篇&amp;ios8文件路径

ios8文件路径 1,之前版本的(比如iOS7)的文件路径如下:  app路径  /var/mobile/Applications/59C84B75-0900-43D6-AD6F-AB9731F064D0/DHD.app/  document路径  /var/mobile/Applications/59C84B75-0900-43D6-AD6F-AB9731F064D0/Documents 2,IOS8的文件路径(蓝色部分是新增的)  app路径:  /private/var/mobile/Co