美文网首页iOSiOS小记iOS奇思怪巧
iOS 跳转到系统的设置界面

iOS 跳转到系统的设置界面

作者: Biharry | 来源:发表于2015-07-30 09:58 被阅读40693次

在项目中,我们经常会碰到使用位置的需求。当用户设置app不允许使用位置的时候,最好的用户体验就是直接调转到系统的位置设置界面,进行设置。

本人已经测试,在5c iOS8.3系统 和 5s iOS7.1系统中可以正常跳转


跳转到自己的项目中

在需要调转的按钮动作中添加如下的代码,就会跳转到设置中自己的app的设置界面,这里会有通知和位置权限的设置

NSURL * url = [NSURL  URLWithString: UIApplicationOpenSettingsURLString];

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

NSURL*url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];           

[[UIApplicationsharedApplication] openURL:url];  

}

测试注意:新项目测试,需要请求一下位置权限或者通知权限,才可以跳进自己的app设置里面,如果没有任何权限请求,就只能跳到系统的设置界面


跳转到系统设置的其他界面

在点击跳转的按钮动作中添加如下代码

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];

在项目中的info中添加 URL types

添加 URL Schemes 为 prefs的url

这样点击就可以跳转到wifi设置界面

(测试手机 5c 8.3系统 5s 7.1系统)


跳转到其他的界面的字段

About — prefs:root=General&path=About  

Accessibility — prefs:root=General&path=ACCESSIBILITY  

AirplaneModeOn— prefs:root=AIRPLANE_MODE  

Auto-Lock — prefs:root=General&path=AUTOLOCK  

Brightness — prefs:root=Brightness  

Bluetooth — prefs:root=General&path=Bluetooth

Date& Time — prefs:root=General&path=DATE_AND_TIME  

FaceTime — prefs:root=FACETIME

General— prefs:root=General

Keyboard — prefs:root=General&path=Keyboard  

iCloud — prefs:root=CASTLE  iCloud 

Storage & Backup — prefs:root=CASTLE&path=STORAGE_AND_BACKUP  

International — prefs:root=General&path=INTERNATIONAL  

Location Services — prefs:root=LOCATION_SERVICES  

Music — prefs:root=MUSIC  

Music Equalizer — prefs:root=MUSIC&path=EQ  

Music VolumeLimit— prefs:root=MUSIC&path=VolumeLimit  

Network — prefs:root=General&path=Network  

Nike + iPod — prefs:root=NIKE_PLUS_IPOD  

Notes — prefs:root=NOTES  

Notification — prefs:root=NOTIFICATIONS_ID  

Phone — prefs:root=Phone  

Photos — prefs:root=Photos  

Profile — prefs:root=General&path=ManagedConfigurationList  

Reset — prefs:root=General&path=Reset  

Safari — prefs:root=Safari  Siri — prefs:root=General&path=Assistant  

Sounds — prefs:root=Sounds  

SoftwareUpdate— prefs:root=General&path=SOFTWARE_UPDATE_LINK  

Store — prefs:root=STORE  

Twitter — prefs:root=TWITTER  

Usage — prefs:root=General&path=USAGE  

VPN — prefs:root=General&path=Network/VPN  

Wallpaper — prefs:root=Wallpaper  

Wi-Fi — prefs:root=WIFI

Setting—prefs:root=INTERNET_TETHERING

作者更多文章

iOS项目集成“支付宝” 超级简单

iOS: 获取不变的UDID

iOS图标一键搞定

相关文章

网友评论

  • nimomeng:“跳转到自己的项目中”章节里为什么要定义两次url?
  • china码农:跳转不到WiFi设置页面啊
  • 溪浣双鲤:不错 支持一下楼主 :kissing_heart:
  • df375154cb6a:使用 NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];
    if([[UIApplicationsharedApplication] canOpenURL:url]) { [[UIApplicationsharedApplication] openURL:url]; }
    国行手机没问题, 港版的闪退,求高人指导
  • SuDream:app所有权限设置这么跳啊?在线等
  • 鱼香肉丝_我鱼呢:那楼主知道iOS10 如何跳转进入系统设置界面吗
  • 山野武夫:有人知道跳到设置里这个操作会被拒吗
    60343a0ad510:@Biharry 跳到WiFi列表会被拒。
    山野武夫:@Biharry 哦哦,三口油
    Biharry:@武哥 已经审核通过好几个版本了
  • hllovesjs:请教一下,为什么要在Info.plist得URL types里添加URL Schemes为prefs的url呢?
    hllovesjs:@益达哥 原来是这样,我刚开始自iOS7学习,谢谢您的指教
    益达哥:@hllovesjs 因为苹果在iOS5.0后把这个系统自带的URL Schemes删除了
  • silencerZiBo:我记得是有链接直接跳转到本APP设置的通知里的,具体是什么来着?请指教
    prefs:root=NOTIFICATIONS_ID是跳转所有APP的通知了
    silencerZiBo:@Biharry 前一段时间,NOTIFICATE我用过还真跳成功了,最近又不好使了。我也还在看文档。大家多交流,互相进步 :smile:
    Biharry:@子伯 只能跳到本应用的设置里面,本应用设置里面有通知设置。直接跳到本应用的通知设置的字段我还真不知道,如果你知道了,麻烦告诉我一下:grin:
  • 小凡凡520:good mark
  • RemisKrlet:iOS版本不同路径略有不同。。
  • 0bc74f36eae4:这里跳转到指定app通知设置界面,prefs:root=NOTIFICATIONS_ID是跳转到整个通知界面
  • c30ec7c7d234:请问楼主, 跳转过去之后, 在我进行设置的时候, 程序为什么会崩溃啊
  • leileiya:@稻草人的 UIKIT_EXTERN NSString *const UIApplicationOpenSettingsURLString NS_AVAILABLE_IOS(8_0); 这个apple的意思是ios8以后才能用啊,为什么你测试7.1可以的?
    SkimTblog:@leileiya 对啊
  • DamonLu:成功~
  • qiongyong:那怎么返回自己的APP呢?并且更改设置程序会奔溃,在模拟机上,真机没试过
    不谷_AndiOS:因为你修改了设置里面的东西,对应你的应用会收到系统的通知,应该是重新启动了吧
    Biharry:@qiongyong 不是iOS9,就双击home键回吧…模拟器没试过,手机都可以,试过了
  • JerryLMJ:可以跳转到设置里应用的权限设置页面 可是更改设置程序就会崩溃是为什么 博主知道是什么原因么
    bruthlee:@MajorLMJ 像相机之类的权限,系统会把APP杀掉自动重启一次
  • 6a7d0272290b:在iPad下面这些url都跳转不了?求原因
    宋鸿康iOS:我跳转成功了,就是按照博主的方法、
  • d466d754d496:不知道如何跳到系统的移动蜂窝数据 设置里
  • Zed__:确实可以,但是在可以进入通知界面的下一级控制器吗?例如跳到我的APP通知页面
    Biharry:@凳子骑
    NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];
    if([[UIApplicationsharedApplication] canOpenURL:url]) { [[UIApplicationsharedApplication] openURL:url]; }

    只有在应用请求过位置权限 或者 通知权限的时候,才会跳进自己app里面的设置呢。不然直接跳到系统设置界面
    风雨啸青锋:@稻草人的 没明白,怎么跳转到自己app 的设置 ?
    Biharry:@凳子骑 跳转到自己app设置界面,会有通知设置的选项

本文标题:iOS 跳转到系统的设置界面

本文链接:https://www.haomeiwen.com/subject/ydomqttx.html