在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