之前做蓝牙小应用的时候有个需求是:进入app发现没有打开蓝牙,需要切换到系统设置页面的蓝牙中。开始以为苹果不支持直接从应用跳转,需要用到私有API什么的,后来发现,这个功能其实非常好实现!
跳转设置蓝牙页面
let url = NSURL(string: "prefs:root=Bluetooth");
if UIApplication.sharedApplication().canOpenURL(url!) {
UIApplication.sharedApplication().openURL(url!)
}
跳到更多设置页面
除了跳到蓝牙设置页面,我们还可以跳到其他的设置页面,例如:定位服务、WiFi、FaceTime等等,都是可以的!我们只要把 prefs:root=
后面的值替换一下就可以了!
下面是我在网上找到的参数列表,在iOS9.2,Swift2.0下亲测可用,需要自己拿:
功能 | URL |
---|---|
关于本机 | prefs:root=General&path=About |
辅助功能 | prefs:root=General&path=ACCESSIBILITY |
飞行模式 | prefs:root=AIRPLANE_MODE |
自动锁定 | prefs:root=General&path=AUTOLOCK |
蓝牙 | prefs:root=Bluetooth |
日期与时间 | prefs:root=General&path=DATE_AND_TIME |
FaceTime | prefs:root=FACETIME |
通用 | prefs:root=General |
键盘 | prefs:root=General&path=Keyboard |
iCloud | prefs:root=CASTLE |
iCloud存储空间 | prefs:root=CASTLE&path=STORAGE_AND_BACKUP |
语言与地区 | prefs:root=General&path=INTERNATIONAL |
定位服务 | prefs:root=LOCATION_SERVICES |
邮件、通讯录、日历 | prefs:root=ACCOUNT_SETTINGS |
音乐 | prefs:root=MUSIC |
音乐 | prefs:root=MUSIC&path=EQ |
音乐 | prefs:root=MUSIC&path=VolumeLimit |
备忘录 | prefs:root=NOTES |
通知 | prefs:root=NOTIFICATIONS_ID |
电话 | prefs:root=Phone |
照片与相机 | prefs:root=Photos |
描述文件 | prefs:root=General&path=ManagedConfigurationList |
还原 | prefs:root=General&path=Reset |
电话铃声 | prefs:root=Sounds&path=Ringtone |
Safari | prefs:root=Safari |
声音 | prefs:root=Sounds |
软件更新 | prefs:root=General&path=SOFTWARE_UPDATE_LINK |
App Store | prefs:root=STORE |
prefs:root=TWITTER | |
视频 | prefs:root=VIDEO |
VPN | prefs:root=General&path=VPN |
墙纸 | prefs:root=Wallpaper |
WiFi | prefs:root=WIFI |
个人热点 | prefs:root=INTERNET_TETHERING |