iOS应用 跳转到系统的设置界面

现在很多APP都需要获取用户权限,例如,允许调用位置信息,读取短信,拨打电话,开启WIFI,掉头摄像头等,用户不允许APP获取这些权限的时候.最好的用户体验是,直接跳转到系统设置界面,让用户自己设置.

跳转到自己的项目中

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

NSURL * url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];

if([[UIApplicationsharedApplication] canOpenURL:url]) {

    NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];        

    [[UIApplicationsharedApplication] openURL:url];  

}

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

//其他网页中提及到:

如果要跳转第三方应用的设置界面中,使用prefs:root=boundleId的方式,boundleId是第三方应用的boundleId。


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

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

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

在项目中的info中添加 URL types

添加 URL Schemes 为 prefs的url

如图:

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


跳转到其他的界面的字段:

 1 //数组中的字典的内容就是直接跳转的语句
 2     //例如跳转到照片:prefs:root=Photos
 3     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Photos"]];
 4     //跳转系统设置根目录中的项目使用如下的方法:
 5     NSArray *array = @[
 6                @{@"系统设置":@"prefs:root=INTERNET_TETHERING"},
 7                @{@"WIFI设置":@"prefs:root=WIFI"},
 8                @{@"蓝牙设置":@"prefs:root=Bluetooth"},
 9                @{@"系统通知":@"prefs:root=NOTIFICATIONS_ID"},
10                @{@"通用设置":@"prefs:root=General"},
11                @{@"显示设置":@"prefs:root=DISPLAY&BRIGHTNESS"},
12                @{@"壁纸设置":@"prefs:root=Wallpaper"},
13                @{@"声音设置":@"prefs:root=Sounds"},
14                @{@"隐私设置":@"prefs:root=privacy"},
15                @{@"APP Store":@"prefs:root=STORE"},
16                @{@"Notes":@"prefs:root=NOTES"},
17                @{@"Safari":@"prefs:root=Safari"},
18                @{@"Music":@"prefs:root=MUSIC"},
19                @{@"photo":@"prefs:root=Photos"}
20                ];
21     NSURL * url = [NSURL URLWithString:[_array[index] allValues].firstObject];
22     [[UIApplication sharedApplication]openURL:url];

要是想跳到设置内部的位置,可以用&path+路径:

 1 //如果需要继续向项目内层进行跳转,可以通过添加path路径的方式,如下:
 2     NSArray *array = @[
 3                @{@"关于本机":@"prefs:root=General&path=About"},
 4                @{@"软件升级":@"prefs:root=General&path=SOFTWARE_UPDATE_LINK"},
 5                @{@"日期时间":@"prefs:root=General&path=DATE_AND_TIME"},
 6                @{@"Accessibility":@"prefs:root=General&path=ACCESSIBILITY"},
 7                @{@"键盘设置":@"prefs:root=General&path=Keyboard"},
 8                @{@"VPN":@"prefs:root=General&path=VPN"},
 9                @{@"壁纸设置":@"prefs:root=Wallpaper"},
10                @{@"声音设置":@"prefs:root=Sounds"},
11                @{@"隐私设置":@"prefs:root=privacy"},
12                @{@"APP Store":@"prefs:root=STORE"},
13                @{@"还原设置":@"prefs:root=General&path=Reset"},
14                @{@"应用通知":@"prefs:root=NOTIFICATIONS_ID&path=应用的boundleId"}
15                ];
16     NSURL * url = [NSURL URLWithString:[array[index] allValues].firstObject];
17     [[UIApplication sharedApplication]openURL:url];

其他界面跳转的字段:

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

 

转载于:https://www.cnblogs.com/lovebugssun/p/5546815.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值