iOS定位详解


iOS10 和iOS10以前 是两个概念


iOS跳转系统设置界面,分为iOS10和iOS10之前两种方法:

iOS10之前

方法:对于iOS10之前,其跳转方法莫过于openURL,可参见UIApplication.h。

5

从其头文件,可见其方法,适用于iOS2.0~iOS10.0。(iOS10.0及之后的版本,并没有说放弃,说是建议使用新的方法openURL:options。)

用法

//url -- 跳转设置-通用界面
NSURL*url=[NSURL URLWithString:@"prefs:root=General"];
//如果能够打开,则打开url
if ([[UIApplication sharedApplication]canOpenURL:url]) {
    [[UIApplication sharedApplication]openURL:url];
}

以上方法,会打开设置-通用界面。其它页面,以此类推。

iOS10之后

方法:对于iOS10及以后,我们可以用新的跳转方法openURL:options:可参见UIApplication.h。

5

对于options,目前来说,可直接传一个空字典。跳转结果的回调,则是在block里完成。

用法

其用法基本不变,需要注意的是:其url需要添加App-,并且Prefs首字母需大写。

//url -- 跳转设置-通用界面
NSURL*url=[NSURL URLWithString:@"App-Prefs:root=General"];
//如果能够打开,则打开url
if ([[UIApplication sharedApplication]canOpenURL:url]) {
    [[UIApplication sharedApplication]openURL:url options:@{} completionHandler:^(BOOL success) {
        if (success) {
            NSLog(@"成功");
        }
    }];
}

URL

 跳转  写法
 WiFi设置  root=WIFI
 蓝牙设置
 root=Bluetooth
 蜂窝数据  root=MOBILE_DATA_SETTINGS_ID
 个人热点      root=INTERNET_TETHERING
 通知  root=NOTIFICATIONS_ID
 通用  root=General
 显示与亮度  root=DISPLAY
 壁纸  root=Wallpaper
 声音  root=Sounds
 电池电量  root=BATTERY_USAGE
 隐私  root=Privacy
 iCloud  root=CASTLE
 iCloud备份  root=CASTLE&path=BACKUP
 iTunesStore与AppStore  root=STORE
 存储空间  root=General&path=STORAGE_ICLOUD_USAGE/DEVICE_STORAGE
 VPN  root=General&path=VPN
 定位设置  root=Privacy&path=LOCATION
 软件更新  root=General&path=SOFTWARE_UPDATE_LINK
 关于本机  root=General&path=About
 辅助功能  root=General&path=ACCESSIBILITY
 键盘设置  root=General&path=Keyboard
 日期与时间  root=General&path=DATE_AND_TIME
 语言  root=General&path=INTERNATIONAL
 描述文件  root=General&path=ManagedConfigurationList
 还原  root=General&path=Reset
 CarPlay  root=General&path=CARPLAY
 FaceTime  root=FACETIME
 音乐  root=MUSIC
 照片与相机  root=Photos
 电话设置  root=Phone
 Notes  root=NOTES
 Twitter  root=TWITTER
 拨打电话  tel://10010
 发送短信  sms://10010
 发送邮件  mailto://1178752402@qq.com
 打开网址  https://www.caichenghan.com


补充

跳转到自己app权限页面:

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication]canOpenURL:url]) {
    [[UIApplication sharedApplication]openURL:url options:[NSDictionary dictionary] completionHandler:^(BOOL success) {
        if (success) {
            NSLog(@"成功");
        }
    }];
}


除此之外,还可通过设定app的bundle id进行跳转。

NSURL *url = [NSURL URLWithString:@"App-Prefs:root=com.jiadai.DemoOfAppTransform"];
if ([[UIApplication sharedApplication]canOpenURL:url]) {
    [[UIApplication sharedApplication]openURL:url options:[NSDictionary dictionary] completionHandler:^(BOOL success) {
        if (success) {
            NSLog(@"成功");
        }
    }];
}

该方法,在iOS10.2.1/iPhone5s测试时发现:若设置已经被打开过,则可顺利跳转,否则第一次执行的时候会进入设置页面,而后才可以进入权限页面。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值