首先声明要使用到的URL scheme,这一步必须做,在info->URL Types增加一种prefs,这里的prefs代表系统的设置,如果不添加这个,是无论如何也跳不过去的,不管iOS的系统版本是什么,这里都是prefs。
以跳转到设置App的消息通知为例:
iOS10之前:
NSString * idf = [NSBundle mainBundle].bundleIdentifier;
NSString * string = [NSString stringWithFormat:@"prefs:root=NOTIFICATIONS_ID&path=%@", idf];
NSURL * url = [NSURL URLWithString:string];
[[UIApplication sharedApplication] openURL:url];
iOS10之后:
NSString * idf = [NSBundle mainBundle].bundleIdentifier;
NSString * string = [NSString stringWithFormat:@"App-Prefs:root=NOTIFICATIONS_ID&path=%@", idf];
NSURL * url = [NSURL URLWithString:string];
[[UIApplication sharedApplication] openURL:url];
更多常用的URL:
iOS10之前:
prefs:root=Brightness //打开Brightness(亮度)设置界面
prefs:root=Bluetooth //打开蓝牙设置
prefs:root=General&path=DATE_AND_TIME //日期与时间设置
prefs:root=General //打开通用设置
prefs:root=General&path=Keyboard //打开键盘设置
prefs:root=CASTLE //打开iClound设置
prefs:root=General&path=INTERNATIONAL //打开通用下的语言和地区设置
prefs:root=LOCATION_SERVICES //打开隐私下的定位服务
prefs:root=Photos //打开设置下照片和相机设置
prefs:root=Safari //打开设置下的safari设置
prefs:root=Sounds //打开设置下的声音设置
prefs:root=Wallpaper //打开设置下的墙纸设置
prefs:root=WIFI //打开wifi设置
iOS10之后:
App-Prefs:root //设置页面
App-Prefs:root=WIFI //无线局域网
App-Prefs:root=Bluetooth //蓝牙
App-Prefs:root=MOBILE_DATA_SETTINGS_ID //蜂窝移动网络
App-Prefs:root=NOTIFICATIONS_ID //通知
App-Prefs:root=General //通用
App-Prefs:root=General&path=About //通用-关于本机
App-Prefs:root=General&path=Keyboard //通用-键盘
App-Prefs:root=General&path=ACCESSIBILITY //通用-辅助功能
App-Prefs:root=General&path=INTERNATIONAL //通用-语言与地区
App-Prefs:root=SIRI //Siri
App-Prefs:root=Privacy //隐私
App-Prefs:root=SAFARI //Safari
App-Prefs:root=Photos //照片与相机