iOS 判断APP是否打开定位,并实现直接跳转打开定位
2017-11-30 10:15
866 查看
首先我们要向导入一个官方提供的库
#import <CoreLocation/CLLocationManager.h>
导入以后就可以写代码了,当然了为了方便起见,个人建议将下面的方法封装成一个工具类,这样的话在任何位置都可以调用
我将该方法封装成了+方法(类方法),类名:NSXYCToolObject :NSObject
.h
/*
* 判断是否打开定位
*/
+ (BOOL)determineWhetherTheAPPOpensTheLocation;
.m
#pragma mark 判断是否打开定位
+(BOOL)determineWhetherTheAPPOpensTheLocation{
if ([CLLocationManagerlocationServicesEnabled]
&& ([CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusAuthorizedWhenInUse
|| [CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusNotDetermined
|| [CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusAuthorized))
{
returnYES;
}elseif
([CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusDenied)
{
returnNO;
}else{
returnNO;
}
}
下面是调用返回值是YES,定位开启,NO,关闭:
[NSXYCToolObjectdetermineWhetherTheAPPOpensTheLocation]
如果没开启,我们会弹框提示让他打开定位,进行下面的操作
if (![NSXYCToolObjectdetermineWhetherTheAPPOpensTheLocation])
{
UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"请到设置->隐私->定位服务中开启【学易车】定位服务,以便于距离筛选能够准确获得你的位置信息"
delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"设置",nil];
[alert
show];
}
弹框提示成功后,如果要打开定位,在确定的点击事件里写入下面的代码,就可以实现类似于DD一样直接跳转到该APP的定位设置里。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{//点击弹窗按钮后
if (buttonIndex ==1){//确定
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
}
效果图如下,已DD为例:
#import <CoreLocation/CLLocationManager.h>
导入以后就可以写代码了,当然了为了方便起见,个人建议将下面的方法封装成一个工具类,这样的话在任何位置都可以调用
我将该方法封装成了+方法(类方法),类名:NSXYCToolObject :NSObject
.h
/*
* 判断是否打开定位
*/
+ (BOOL)determineWhetherTheAPPOpensTheLocation;
.m
#pragma mark 判断是否打开定位
+(BOOL)determineWhetherTheAPPOpensTheLocation{
if ([CLLocationManagerlocationServicesEnabled]
&& ([CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusAuthorizedWhenInUse
|| [CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusNotDetermined
|| [CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusAuthorized))
{
returnYES;
}elseif
([CLLocationManagerauthorizationStatus] ==kCLAuthorizationStatusDenied)
{
returnNO;
}else{
returnNO;
}
}
下面是调用返回值是YES,定位开启,NO,关闭:
[NSXYCToolObjectdetermineWhetherTheAPPOpensTheLocation]
如果没开启,我们会弹框提示让他打开定位,进行下面的操作
if (![NSXYCToolObjectdetermineWhetherTheAPPOpensTheLocation])
{
UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"请到设置->隐私->定位服务中开启【学易车】定位服务,以便于距离筛选能够准确获得你的位置信息"
delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"设置",nil];
[alert
show];
}
弹框提示成功后,如果要打开定位,在确定的点击事件里写入下面的代码,就可以实现类似于DD一样直接跳转到该APP的定位设置里。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{//点击弹窗按钮后
if (buttonIndex ==1){//确定
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
}
效果图如下,已DD为例:
相关文章推荐
- JS实现点击网页判断是否安装app并打开否则跳转app store
- JS实现点击网页判断是否安装app并打开否则跳转app store
- ionic ionic2进入App前判断是否登录,进入页面之前作判断,实现未登录跳转
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- iOS 一个app跳转另一个app并实现通信(如A跳到B并打开B中指定页面)
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- js判断移动端是否安装某软软件,安装直接打开相应的链接,否则跳转到下载商店方法
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- iOS swift 获取对应APP定位权限是否打开并引导用户打开
- iOS 微信分享不能app跳转和判断是否安装微信有误
- IOS判断应用是否第一次打开&UIScrollView实现新应用第一打开欢迎介绍页面
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- iOS 一个app跳转另一个app并实现通信(如A跳到B并打开B中指定页面)
- 在html页面中js判断app是否安装并直接打开
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- iOS 判断定位是否允许_跳转定位设置界面
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- 项目运行时判断是否第一次打开而进行的跳转以及引导页ViewPager的实现