首页 > 代码库 > 在app内打开自己app的专用设置界面

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

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

通常我们的做法是,给一个弹窗,提示开启选项的路径:例如:这样

技术分享

 

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

目前更好的做法,大概是直接跳转到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  

 

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