[iOS]应用内跳到系统设置各页面

来源:互联网 发布:php获取今天是星期几 编辑:程序博客网 时间:2024/06/10 21:24

很多时候,有这样的场景:APP中需要获取使用相机的权限,而用户没有授权,我们需要提示用户去开启权限:”设置->隐私->相机”;这样,用户不得不退出APP后再去打开系统的设置,体验很不好,最好的是直接从APP内打开相机授权界面.
网上也有很多这方面的资料,但是我在使用的时候,多少会遇到点问题,并不能跳到指定的页面(后来才知道是字符串拼写的问题),花了点时间,测试了一些字段,现在整理如下:


测试手机:iPhone 5

测试机系统:iOS 9.3.1

Xcode版本:7.3


打开系统的设置页面主要是用来UIApplicationopenURL方法:

NSURL *url = [NSURL URLWithString:string];[[UIApplication sharedApplication]openURL:url];

下面主要是string字段改怎么填写的问题:

打开系统设置主界面

NSString *string = @"prefs:root=INTERNET_TETHERING";NSURL *url = [NSURL URLWithString:string];[[UIApplication shareApplication]openURL:url];

这样就可以直接打开系统的设置界面;

打开设置的一级界面

打开一级界面可将上面的字符串修改为以下对应的字段:

@"prefs:root=WIFI",//打开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=STORE",//存储@"prefs:root=NOTES",//备忘录@"prefs:root=SAFARI",//Safari@"prefs:root=MUSIC",//音乐@"prefs:root=Photos",//照片与相机@"prefs:root=CASTLE"//iCloud@"prefs:root=FACETIME",//FaceTime@"prefs:root=LOCATION_SERVICES",//定位服务@"prefs:root=Phone",//电话

通用下常用字段

@"prefs:root=General&path=About",//关于本机      @"prefs:root=General&path=SOFTWARE_UPDATE_LINK",//软件更新@"prefs:root=General&path=DATE_AND_TIME",//日期和时间@"prefs:root=General&path=ACCESSIBILITY",//辅助功能@"prefs:root=General&path=Keyboard",//键盘@"prefs:root=General&path=VPN",//VPN设置@"prefs:root=General&path=AUTOLOCK",//自动锁屏@"prefs:root=General&path=INTERNATIONAL",//语言与地区@"prefs:root=General&path=ManagedConfigurationList",//描述文件

隐私下常用字段

@"prefs:root=Privacy&path=CAMERA",//设置相机使用权限@"prefs:root=Privacy&path=PHOTOS"//设置照片使用权限

以上字段,亲测全部可用….
具体效果参见Demo

0 0