在iOS10更新后,系统设置跳转被禁用,只能跳转App设置? NO, NO, NO, 看这里,又可以换个姿势愉快的跳转啦。
其实方法很简单,例如原有跳转Wi-Fi设置是"prefs:root=WIFI",新的写法是"App-Prefs:root=WIFI"。怎么样,是不是很简单!!!
在非iOS10手机中,也可以用此方法进行跳转,但不保证跳转正确性
非iOS10系统跳转,可以参考这里(未测试)。
Objective-c
#define iOS10 ([[UIDevice currentDevice].systemVersion doubleValue] >= 10.0)
NSString * urlString = @"App-Prefs:root=WIFI";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlString]]) {
if (iOS10) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString] options:@{} completionHandler:nil];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}
}
Swift
if let url = URL(string:"App-Prefs:root=WIFI") {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
当前iOS10支持的所有跳转,亲测可用(测试系统:10.2.1)
跳转写法
无线局域网App-Prefs:root=WIFI
蓝牙App-Prefs:root=Bluetooth
蜂窝移动网络App-Prefs:root=MOBILE_DATA_SETTINGS_ID
个人热点App-Prefs:root=INTERNET_TETHERING
运营商App-Prefs:root=Carrier
通知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=Reset
墙纸App-Prefs:root=Wallpaper
SiriApp-Prefs:root=SIRI
隐私App-Prefs:root=Privacy
SafariApp-Prefs:root=SAFARI
音乐App-Prefs:root=MUSIC
音乐-均衡器App-Prefs:root=MUSIC&path=com.apple.Music:EQ
照片与相机App-Prefs:root=Photos
FaceTimeApp-Prefs:root=FACETIME