iOS8 定位补充

iOS 8定位补充

iOS 8定位需要修改2个地方

1.info.plist文件中添加NSLocationAlwaysUsageDescription:描述信息

从iOS 8开始,用户定位分两种情况

总是使用用户位置:NSLocationAlwaysUsageDescription

使用应用时定位:NSLocationWhenInUseDescription

2.在CLLocationManager中调用

- (void)requestAlwaysAuthorization

- (void)requestWhenInUseAuthorization

#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>

@interface ViewController () <CLLocationManagerDelegate>

@property(nonatomic,strong)CLLocationManager *mgr;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    [self.mgr startUpdatingLocation];

    // 如果是iOS8,需要请求授权方式(进行判断,否则在iOS7会崩溃,需要先在info.plist中配置)
    // 1.通过判断系统判断来确定是否需要请求requestAlwaysAuthorization授权
//    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
//        [self.mgr requestAlwaysAuthorization];
//    }
    // 2.通过判断是否有该方法来判断是否需要请求requestAlwaysAuthorization授权
    if ([self.mgr respondsToSelector:@selector(requestAlwaysAuthorization)]) {
        [self.mgr requestAlwaysAuthorization];
    }
}

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    NSLog(@"获取到用户的位置");
}

- (CLLocationManager *)mgr
{
    if (_mgr == nil) {
        _mgr = [[CLLocationManager alloc] init];
        _mgr.delegate = self;
    }

    return _mgr;
}

@end
时间: 2024-10-06 06:02:33

iOS8 定位补充的相关文章

ios项目开发— iOS8 定位功能API改变

iOS8 定位新增功能 一.  Core Location framework的变化主要有以下几点:         1. 在定位状态中引入Always 和WhenInUse的概念.         2. 加入Visit monitoring的特性, 这类特性特别适合旅行类别的应用,当用户到达某个指定的区域内,monitor开始作用.         3.加入室内定位技术,增加CLFloor, 在室内可以得到楼层信息. 下面针对这三种分别详细的讲一下使用方法. 二..定位的种类分为: 持续的更新

iOS8定位与地图

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

IOS8定位无效问题

我的一个程序,以前都好用的,包括ios6,ios7,但是手机升级到iOS8后,xcode6编译运行,就不能正常工作了,也不报错.现象是进到设置里隐私-定位服务下面找到这个应用,设为总是允许,就可以正常获取地理信息,但是再重新编译运行,它又会变成这个未知状态. 琢磨后想起来以前重装应用再调用定位服务时会弹出授权对话框,但是IOS8怎么没弹呢,于是加入调用locationManager requestAlwaysAuthorization手动申请授权,然后你可以在didChangeAuthoriza

iOS8 定位失败问题

时间:2014-10-10 今天在开发的时候发现了一个iOS8的定位问题,执行操作之后,不会调用到定位之后的delegate方法中,然后我查看了一下手机上对应用的定位权限界面,发现我的应用的访问用户的地理位置的权限是空的,之后查了相关信息,得到以下解决方案: 1. Appdelegate中: CLLocationManager *locationManager; [UIApplication sharedApplication].idleTimerDisabled = TRUE; locatio

iOS8定位失败

今天在开发的时候发现了一个iOS8的定位问题,执行操作之后,不会调用到定位之后的delegate方法中,然后我查看了一下手机上对应用的定位权限界面,发现我的应用的访问用户的地理位置的权限是空的,之后查了相关信息,得到以下解决方案: 1. Appdelegate中: if (IOS_VERSION >=8) { locationManager = [[CLLocationManager alloc] init]; [locationManager requestAlwaysAuthorizatio

[ios]iOS8 定位

参考:http://www.2cto.com/kf/201410/342392.html http://blog.csdn.net/yongyinmg/article/details/39521523 http://blog.devzeng.com/blog/ios8-corelocation-framework.html iOS8的定位问题,执行操作之后,不会调用到定位之后的delegate方法中,然后我查看了一下手机上对应用的定位权限界面,发现我的应用的访问用户的地理位置的权限是空的,之后查

ios7 ios8 定位兼容性问题解决方案

最近开发的app定位功能在ios8上能够正常运行,但是到了ios7的机器上就不能正常运行了,原因是两个系统的定位有些不一样,针对不同的系统是需要做一些处理的.一下是我的一些处理方法. @property(nonatomic, strong) CLLocationManager * locMgr; - (CLLocationManager *)locMgr { if (_locMgr == nil) { self.locMgr = [[CLLocationManager alloc]init];

ios8 定位授权问题 (plist文件设置字段 手动调用授权仍然不能弹出alertview窗口)

ios8 的地图定位和以前版本有了很大不同,主要是加入了询问用户是否授权定位服务. 参照网上其他人的做法 1 plist文件加入两个字段 NSLocationAlwaysUsageDescription  NSLocationWhenInUseUsageDescription 2 调用 requestAlwaysAuthorization 但是,仍然不能弹出窗口的问题!!!!! 本人就遇到,解决方法其实很简单,但让人想不到. 在targert->info 中加入 NSLocationAlways

IOS8定位无效问题 - Jeedaa_IOS

我的一个程序,以前都好用的,包括ios6,ios7,但是手机升级到iOS8后,xcode6编译运行,就不能正常工作了,也不报错.现象是进到设置里隐私-定位服务 下面找到这个应用,设为总是允许,就可以正常获取地理信息,但是再重新编译运行,它又会变成这个未知状态. 琢磨后想起来以前重装应用再调用定位服务时会弹出授权对话框,但是IOS8怎么没弹呢,于是加入 调用locationManager requestAlwaysAuthorization手动申请授权,然后你可以在didChangeAuthori