在app内打开自己app的专用设置界面

时间:2023-03-09 20:47:22
在app内打开自己app的专用设置界面

在我们的APP中,可能会使用多种服务,例如定位、推送、相册、拍照、通讯录等。选择是否允许一般只出现在安装app后第一次打开时,可是我们依然需要在使用到某种服务的时候判断是否用户是否允许了该服务,因为用户有可能自己关闭了自己app的这种服务器。

通常我们的做法是,给一个弹窗,提示开启选项的路径:例如:这样在app内打开自己app的专用设置界面

也可以做一张长图,用ScrollView显示出来,可能会体验稍微好一点。

目前更好的做法,大概是直接跳转到app的设置界面,像下面这样:

在app内打开自己app的专用设置界面

直接上代码:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=你app的bunbleId"]];

另外该方法支持iOS8以上,iOS7估计还是得用原始方法咯。

补充:

当然也可以跳转到某一类服务器的设置界面,直接修改Settings的URL Scheme参数即可。

常用的参数如下:

Location Services — prefs:root=LOCATION_SERVICES

Notification — prefs:root=NOTIFICATIONS_ID

Phone — prefs:root=Phone

Photos — prefs:root=Photos

Wi-Fi — prefs:root=WIFI

About — prefs:root=General&path=About

Accessibility — prefs:root=General&path=ACCESSIBILITY

Airplane Mode On — 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

Music — prefs:root=MUSIC

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

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

Network — prefs:root=General&path=Network

Nike + iPod — prefs:root=NIKE_PLUS_IPOD

Notes — prefs:root=NOTES

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

Software Update — 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