IOS开发入门之跳到系统设置里的各种设置界面如何实现
凌雪 2018-10-23 来源 :网络 阅读 993 评论 0

摘要:本文将带你了解IOS开发入门iOS开发中跳到系统设置里的各种设置界面如何实现,希望本文对大家学IOS有所帮助。

本文将带你了解IOS开发入门iOS开发中跳到系统设置里的各种设置界面如何实现,希望本文对大家学IOS有所帮助。


       

iOS开发中跳到系统设置里的各种设置界面如何实现。在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL   type中添加一个prefs值,如下图:
需要设置prefs


QjIfMvb.png!web.png

设置跳转有三种方式,每一种的使用场景都不同。   并且你在跳转到系统中自己应用下面设置的时候,你的应用要提前至少申请了某一个权限,如通知,定位等。否则,会引起崩溃。

方式一:prefs:root=某项服务
方式二:prefs:root=bundleID
方式三:UIApplicationOpenSettingsURLString
本篇针对iOS7、iOS8、iOS9、iOS10,来介绍其中区别。  

一、跳转方法

iOS系统版本   <   10.0


   

<code><code><code>NSURL   *url= [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];

if(   [[UIApplication sharedApplication]canOpenURL:url] )   {

   [[UIApplication sharedApplication]openURL:url];

}</code></code></code>

   

iOS系统版本   >=   10.0


   

<code><code><code>if( [[UIApplication sharedApplication]canOpenURL:url] )   {

    [[UIApplication sharedApplication]openURL:url   options:@{}completionHandler:^(BOOL          success) {

    }];

}</code></code></code>

   

可以看出,跳转方法非常简单。本文重点讲解url   怎么设置

二、跳转到哪里去?(系统的设置,系统中自己应用下面的设置)

方式一:

iOS系统版本   <= iOS7, 只能跳转到   系统设置页面


   

<code><code><code>NSURL   *url= [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];</code></code></code>

   

跳转到:   隐私-定位服务。
prefs:root=某项服务


<code><code><code><code>系统设置:prefs:root=INTERNET_TETHERING

WIFI设置:prefs:root=WIFI

蓝牙设置:prefs:root=Bluetooth

系统通知:prefs:root=NOTIFICATIONS_ID

通用设置:prefs:root=General

显示设置:prefs:root=DISPLAY&BRIGHTNESS

壁纸设置:prefs:root=Wallpaper

声音设置:prefs:root=Sounds

隐私设置:prefs:root=privacy

蜂窝网路:prefs:root=MOBILE_DATA_SETTINGS_ID

音乐:prefs:root=MUSIC

APP Store:prefs:root=STORE

Notes:prefs:root=NOTES

Safari:prefs:root=Safari

Music:prefs:root=MUSIC

photo":prefs:root=Photos</code></code></code></code>

   

这种跳转方式,都是跳转到系统的设置界面。

方式二   :

iOS系统版本   >= iOS8,支持跳转到第三方应用的设置界面中
使用prefs:root=bundleID   ,bundleID是你第三方应用工程的唯一ID
局限性:只支持iOS8,iOS9系统,在iOS10系统上,不会跳转。   在iOS7系统上,仅仅只是跳转到设置应用,不推荐使用。

如果需要继续向项目内层进行跳转,可以通过添加path路径的方式,如下:


   

<code><code><code><code><code>关于本机:prefs:root=General&path=About

软件升级:prefs:root=General&path=SOFTWARE_UPDATE_LINK

日期时间:prefs:root=General&path=DATE_AND_TIME

Accessibility:prefs:root=General&path=ACCESSIBILITY

键盘设置:prefs:root=General&path=Keyboard

VPN:prefs:root=General&path=VPN

壁纸设置:@"prefs:root=Wallpaper

声音设置:prefs:root=Sounds

隐私设置:prefs:root=privacy

APP Store:prefs:root=STORE

还原设置:prefs:root=General&path=Reset

应用通知:prefs:root=NOTIFICATIONS_ID&path=应用的boundleId</code></code></code></code></code>

   

更多参数字段自己查询

方式三

iOS系统版本   >= iOS10,支持跳转到自己应用设置,不支持跳转到系统设置


<code><code><code><code><code>NSURL   *url = [NSURL   URLWithString:UIApplicationOpenSettingsURLString];</code></code></code></code></code>

   

UIApplicationOpenSettingsURLString字段,是在iOS8上才提供的,支持iOS8,iOS9,iOS10系统,推荐使用。
iOS系统版本>=   iOS10,支持跳转到自己应用设置,不支持跳转到系统设置
只认


   

<code><code><code><code><code><code>NSURL   *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];</code></code></code></code></code></code>

   

跳转。
而prefs:root=bundleID和prefs:root=服务都将不起作用。

总结一下:

方式一:prefs:root=某项服务适用于   小于 iOS10的系统;
方式二:prefs:root=bundleID适用于   大于等于iOS8系统,小于iOS10的系统。
方式三:UIApplicationOpenSettingsURLString适用于   大于等于iOS8的系统。
    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程