Skip to content

Instantly share code, notes, and snippets.

@willwfsp
Last active February 18, 2023 02:59
Show Gist options
  • Save willwfsp/3d2cef3bdf1c879aa51a0842a7954cfc to your computer and use it in GitHub Desktop.
Save willwfsp/3d2cef3bdf1c879aa51a0842a7954cfc to your computer and use it in GitHub Desktop.
iOS URL Schemes

I've recently discovered the awesome iOS5 custom Settings URL Scheme, which can be explained in detail at this great [website].

I've found this to work, directing the user to the Settings app from my application:

[[UIApplication sharedApplication] openURL:
       [NSURL URLWithString:@"prefs:root=General"]];

But cannot seem to route directly to the Restrictions path via the path parameter:

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"prefs:root=General&path=Restrictions"]];

Has anyone found documentation on this or been able to make this work?

Any insight would be greatly appreciated. I'm trying to take the user to enable in-App purchasing, and would rather not have the user manually click on Restrictions (not very obvious).


Best Answer

WARNING: This method will not work for devices running iOS 5.1 and greater - See Hlung's comment below.

It's possible that the path component has a different name than the actual section, but it's also possible that you can't currently access that section straight from a URL. I found a list of possible URLs and Restrictions is not on it, maybe it's just not found out yet.

List of currently known URLs in the Settings app:

  • "prefs:root=General&path=About"
  • "prefs:root=General&path=ACCESSIBILITY"
  • "prefs:root=AIRPLANE_MODE"
  • "prefs:root=General&path=AUTOLOCK"
  • "prefs:root=General&path=USAGE/CELLULAR_USAGE"
  • "prefs:root=Brightness"
  • "prefs:root=General&path=Bluetooth"
  • "prefs:root=General&path=DATE_AND_TIME"
  • "prefs:root=FACETIME"
  • "prefs:root=General"
  • "prefs:root=General&path=Keyboard"
  • "prefs:root=CASTLE"
  • "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=General&path=Network"
  • "prefs:root=NIKE_PLUS_IPOD"
  • "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"
  • "prefs:root=Safari"
  • "prefs:root=General&path=Assistant"
  • "prefs:root=Sounds"
  • "prefs:root=General&path=SOFTWARE_UPDATE_LINK"
  • "prefs:root=STORE"
  • "prefs:root=TWITTER"
  • "prefs:root=General&path=USAGE"
  • "prefs:root=VIDEO"
  • "prefs:root=General&path=Network/VPN"
  • "prefs:root=Wallpaper"
  • "prefs:root=WIFI"
  • "prefs:root=INTERNET_TETHERING"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment