EdwardJ

Stay Hungry Stay Foolish

0%

iOS应用内跳转系统设置

本文内容已过时,可以直接看最后。

应用内跳转到设置 设置详细界面

iOS 应用内跳转设置的方法主要有两种,但都是用openURL的方法来实现。

第一种 prefs 的方法

该方法可精确进入到设置详细,但是__不提倡使用__,容易__审核不通过__,__不建议使用__。
这里整理出来,作为笔记,纪念下很早前开发iOS的这种骚操作。

First Step 配置

如果直接进行Second Step 调取方法就可以成功的话,First Step可以不用设置了。很多人在使用代码直接调转的时候不成功,原因是 URL Type没有设置对。

1

plist文件中设置URL typs,
URL types中添加一个Item,
然后在Item中添加Document Role,将Document Role的值改为Editor(这一步很重要)


修改Document Role为Editor


2

然后将URL SchemesItemValue改为prefs


修改URL Schemes的Item为prefs


Second Step 调取方法

示例

打开WiFi设置界面

1
2
3
4
5
NSURL * url = [NSURL URLWithString:@"prefs:root=WIFI"];
if([[UIApplication sharedApplication] canOpenURL:url]) {

[[UIApplication sharedApplication] openURL:url];
}

以上代码会跳转到WIFI设置界面

常用的一些跳转URL


  • About — prefs:root=General&path=About 或者 prefs:root=About
  • Accessibility — prefs:root=General&path=ACCESSIBILITY 或者 prefs:root=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 或者 prefs:root=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 Volume Limit — 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
  • 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
  • Wi-Fi — prefs:root=WIFI

第二种 用 UIApplicationOpenSettingsURLString

1
2
3
4
NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}

从iOS 8.0 开始,使用该方法会跳到应用自己的设置界面。推荐使用该方法。

第一种方法已失效,不能再用了,老老实用第二种。至于第一种方法,留作纪念吧,祭奠私有方法这种骚操作。

如果内容对你有用,赏我一杯咖啡未尝不可^_^