从网上查资料都说从iOS 5.1以后的版本系统取消了应用内跳转,但是那个方法也没有被过期,不解,今天正好碰到这个问题,有一个测试机可以跳转到设置界面,其他的就都不可以跳转.研究了一下也从网上找了一些资料,感觉说的不是很详细.自己重新写一遍省的以后自己忘掉.
在需要调转的按钮动作中添加如下的代码,就会跳转到设置中自己的app的设置界面,这里会有通知和位置权限的设置
NSURL * url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];
if([[UIApplicationsharedApplication] canOpenURL:url]) {
NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];
[[UIApplicationsharedApplication] openURL:url];
}
上面的代码只可以跳转到设置界面,这个跳转是不用做任何设置就可以跳转的,假如要跳转到指定的界面, 比如 WiFi 的界面就需要再做进一步的设置 ,首先代码是一样的格式
NSURL * url = [NSURL URLWithString:@"prefs:root=WIFI"];
if([[UIApplication sharedApplication] canOpenURL:url]) {
NSURL*url =[NSURL URLWithString:UIApplicationOpenSettingsURLString]; [[UIApplication sharedApplication] openURL:url];
}
然后在 info.plist 文件中
添加 URL types
添加 URL Schemes 为 prefs的url
或者这样
都可以.
需要注意的是:如果还是不行的话再
请求一下位置权限或者通知权限,才可以跳进自己的app设置里面,如果没有任何权限请求,可能就就只能跳到系统的设置界面;
跳转到其他界面的 URL:
About — prefs:root=General&path=About
Accessibility — prefs:root=General&path=ACCESSIBILITY
AirplaneModeOn— 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
Location Services — prefs:root=LOCATION_SERVICES
Music — prefs:root=MUSIC
Music Equalizer — prefs:root=MUSIC&path=EQ
Music VolumeLimit— prefs:root=MUSIC&path=VolumeLimit
Network — prefs:root=General&path=Network
Nike + iPod — prefs:root=NIKE_PLUS_IPOD
Notes — prefs:root=NOTES
Notification — prefs:root=NOTIFICATIONS_ID
Phone — prefs:root=Phone
Photos — prefs:root=Photos
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
SoftwareUpdate— 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
Wi-Fi — prefs:root=WIFI
Setting—prefs:root=INTERNET_TETHERING