iOS使用百度地图定位,关掉系统定位服务该怎么提示用户打开
2016-03-24 15:07
691 查看
首先关于这个问题,我真的纠结了很久很久,因为我们的项目请求一些数据的时候需要给后台上传用户的经纬度,然而用户小白并不知道,所以本妹子就是说如果用户关掉了定位服务或者是没有允许我们的项目使用定位服务这个时候就要给他一个弹框,
第一步我先在网上学习了怎么判断定位服务开启了没有代码如下
:#pragma mark -检验定位服务是否开启
-(void)judgeLocationServiceEnabled
{
}
这句话的意思就是说隐私–定位服务有没有打开
这句话的意思是在用户第一次下载程序的时候,打开之后弹出的授权询问框他是选择了始终信任和使用之间,
点击去设置的时候要跳转到系统的设置页面代码如下–
根据我的经验这段代码在i6plus运行的时候会跳转不了,所以要在info–url Scheme里面添加一个urlTypes —prefs
如图:
然而我发现百度地图定位那个类,在我把定位服务关了之后他会自己默认给我弹出让我去设置系统的定位服务,然而他只是在用户第一次运行的时候才会弹出,其他时候不会弹出,然而我希望我们所有的用到的地方他都会提示,但是他真做不到这样,知道现在我也不知道到底怎样做是最正确的选择,我让我们同事在写操作手册的时候给加上了要开启定位服务,我也通过各种途径联系到了百度工程师,不过到现在他还没有回复我,我也会继续跟踪这个问题,如果大家有好的方法,麻烦告诉我一下,感激不尽,
QQ:1030415247
第一步我先在网上学习了怎么判断定位服务开启了没有代码如下
:#pragma mark -检验定位服务是否开启
-(void)judgeLocationServiceEnabled
{
if ([CLLocationManager locationServicesEnabled]) { //system location enabled if (`[CLLocationManager authorizationStatus]==kCLAuthorizationStatusAuthorizedWhenInUse||[CLLocationManager authorizationStatus]==kCLAuthorizationStatusAuthorizedAlways`) { //允许PGS访问定位 [_locationService startUserLocationService]; } else { //定位服务开启 --但是用户没有允许他定位 PGLog(@"跳转到PGS页面允许定位") UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"请去系统定位服务,允许PGS获取您的位置" message:@"PGS需要根据您的位置获取店铺列表" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"去设置", nil]; alertView.delegate=self; alertView.tag=0; [alertView show]; } } else { PGLog(@"跳转隐私定位") UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"请去系统定位服务,允许PGS获取您的位置" message:@"打开定位服务" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"去设置", nil]; alertView.delegate=self; alertView.tag=0; [alertView show]; }
}
[CLLocationManager locationServicesEnabled]
这句话的意思就是说隐私–定位服务有没有打开
[CLLocationManager authorizationStatus]==kCLAuthorizationStatusAuthorizedWhenInUse||[CLLocationManager authorizationStatus]==kCLAuthorizationStatusAuthorizedAlways
这句话的意思是在用户第一次下载程序的时候,打开之后弹出的授权询问框他是选择了始终信任和使用之间,
点击去设置的时候要跳转到系统的设置页面代码如下–
NSURL*url=[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]; [[UIApplication sharedApplication] openURL:url];
根据我的经验这段代码在i6plus运行的时候会跳转不了,所以要在info–url Scheme里面添加一个urlTypes —prefs
如图:
然而我发现百度地图定位那个类,在我把定位服务关了之后他会自己默认给我弹出让我去设置系统的定位服务,然而他只是在用户第一次运行的时候才会弹出,其他时候不会弹出,然而我希望我们所有的用到的地方他都会提示,但是他真做不到这样,知道现在我也不知道到底怎样做是最正确的选择,我让我们同事在写操作手册的时候给加上了要开启定位服务,我也通过各种途径联系到了百度工程师,不过到现在他还没有回复我,我也会继续跟踪这个问题,如果大家有好的方法,麻烦告诉我一下,感激不尽,
QQ:1030415247
相关文章推荐
- iOS tableView的图片缓存异步载入
- iOS中Animation+2
- ios 图片截取功能 图片拼接功能
- iOS小问题--判断设备是否静音
- IOS开发之记录用户登陆状态,ios开发用户登陆
- iOS 远程推送通知
- iOS NSNotificationCenter详解
- ios中json解析出现的null问题
- ios 开发使用 extern "C" __declspec(dllimport) 导致 unknown type name "__declspec"
- iOS小视频的基本使用
- iOS开发证书显示『证书签发者无效』
- iOS学习技能树
- iOS申请证书,Certificates, Identifiers &Profiles 简介
- iOS事件分发机制(一) hit-Testing
- iOS开发证书要点详解,ios证书详解
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
- iOS开发LaunchImage设置
- iOS ipa打包测试文件生成二维码
- IOS 刷机教程
- iOS 设备型号判断及对应固件的选择