Instantly share code, notes, and snippets.

Embed
What would you like to do?
@brod-ie

This comment has been minimized.

Copy link

brod-ie commented Dec 28, 2015

Thank you so much for open sourcing this; incredibly useful resource

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Jan 5, 2016

You are welcome! 💃 @ryanbrodie

@Maryom

This comment has been minimized.

Copy link

Maryom commented Jan 5, 2016

You are awesome :) Finally it works.

@hanluner

This comment has been minimized.

Copy link

hanluner commented Jan 19, 2016

How I can open safari without open url, just jump to safari app?

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Feb 4, 2016

Sorry @hanluner, didn't see this comment before!!.

Depends on what you want to do. Do you want to open a web view inside your app (webview?) or do you want to tap on a url and open safari outside your app?

@gomapsdev

This comment has been minimized.

Copy link

gomapsdev commented Feb 9, 2016

Thanks for sharing this! Trying to get to the "Wallet And Apple Pay" section - is there a URL for it ??

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Feb 10, 2016

@gomaps I'm not aware of the url scheme for Wallet and Apple Pay. Need to research about it 🎯

@cezarcp

This comment has been minimized.

Copy link

cezarcp commented Feb 18, 2016

@gomaps, @phynet I needed this for a project and through a bit of trial and error managed to open the "Wallet and Apple Pay" section using prefs:root=PASSBOOK

Also, thank you for sharing this!

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Feb 18, 2016

Excelent @cezarcp! updated to your code. Thank you for sharing it! 👍

@msching

This comment has been minimized.

Copy link

msching commented Mar 4, 2016

For bluetooth should use @"prefs:root=Bluetooth". Bluetooth section is not under General anymore.

@kyleclegg

This comment has been minimized.

Copy link

kyleclegg commented Mar 4, 2016

You ought to also add just prefs: for those who want the topmost level.

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Mar 6, 2016

Thanks for the tup @msching this list was created last year :)

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Mar 7, 2016

Added prefs: only @kyleclegg. Thank you.

@ramunasjurgilas

This comment has been minimized.

Copy link

ramunasjurgilas commented Mar 29, 2016

I noticed that some persons in stackoverflow.com wrote that app will be rejected if prefs will be used. Can somebody confirm that your app was approved when "prefs:root" was used?

@RyanBrodie Even if it could works, I suggest you don't use it for App Store Apps right now, I just got a "rejected" from iTunes Connect this morning, for "prefs:root" is a private API ( there are apps using prefs:root on App Store ... God know why) – Taiyuan Xu Dec 29 '15 at 5:11

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Mar 30, 2016

@RyanBrodie is the first user (@brod-ie) that commented here. Maybe you should send him a DM. I haven't upload it to Apple Store, so I can't confirm nor deny this information, sorry.

@yoiang

This comment has been minimized.

Copy link

yoiang commented Apr 21, 2016

Hey @phynet and co. ! Thanks so much for starting and maintaining this list!

I've quickly wrapped the paths I've been able to test into a simple, localizable framework available here:
https://github.com/Adorkable/SettingsAppAccessiOS

...as well as via Cocoapods:
pod "SettingsAppAccess", '~> 1.0'

Everyone, please let me know if you should be included in the thanks section! And anyone who would like to contribute translations to the human readable text should submit a pull request!

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Apr 27, 2016

Wow @yoiang good job!!! epic job ;) will download, starred already.

@MontassarWCT

This comment has been minimized.

Copy link

MontassarWCT commented May 13, 2016

I have a iphone 5S with ios 9.3.1 Configuration List dosn't worked for me

@KamalHunzai

This comment has been minimized.

Copy link

KamalHunzai commented May 16, 2016

Thank you @phynet for very useful gist.

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented May 17, 2016

Well @MontassarWCT, I've tested it on 9.3.1 and it's working. Have you enabled URL Types in Target? (See gif above, in explanation part)

@ajumalebrahim

This comment has been minimized.

Copy link

ajumalebrahim commented May 19, 2016

Is there any thing available go to Mobile Data.

@guyromb

This comment has been minimized.

Copy link

guyromb commented May 25, 2016

Implementation for your own use (part of a plugin I made for Cordova):
https://github.com/guyromb/Cordova-open-native-settings/blob/master/src/ios/NativeSettings.m

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented May 26, 2016

very useful @guyromb!! stared already 💯

@ltd920678778

This comment has been minimized.

Copy link

ltd920678778 commented Jul 8, 2016

But ios 10?

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Jul 11, 2016

@ltd920678778 I haven't tested it yet on iOS 10

@larsblumberg

This comment has been minimized.

Copy link

larsblumberg commented Jul 14, 2016

Our app got rejected during AppStore review because of using these non-public URL schemes:

Your app uses the "prefs:root=Bluetooth, prefs:root=WiFi" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

@Jinxiansen

This comment has been minimized.

Copy link

Jinxiansen commented Jul 15, 2016

me too .

Your app uses the "prefs:root=" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

Next Steps

Please revise your app to provide the associated functionality using public APIs or remove the functionality using the "prefs:root" URL scheme.

If there are no alternatives for providing the functionality your app requires, we encourage you to file an enhancement request.

@aral

This comment has been minimized.

Copy link

aral commented Jul 17, 2016

Fails on iOS 10.

@raulsilvamx

This comment has been minimized.

Copy link

raulsilvamx commented Jul 18, 2016

Thanks... You deserve a few 🍻 !!!

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Jul 18, 2016

@larsblumberg and @Jinxiansen this was commented above (march 29th), sadly it seems it's not approved by Apple, and only those apps that won't be uploaded to Apple Store are using it.

@kennybatista

This comment has been minimized.

Copy link

kennybatista commented Aug 9, 2016

Thanks you so much!

@mromanuk

This comment has been minimized.

Copy link

mromanuk commented Aug 24, 2016

How do Google do to use it in the Gboard keyboard? They clearly use prefs:root=General&path=Keyboard/KEYBOARDS on the Container App.
I need that for the app I'm working on, works flawlessly in iOS9.x.

I can confirm that it doesn't work in simulator iOS10.x, anything with prefs:

@alexpersian

This comment has been minimized.

Copy link

alexpersian commented Aug 28, 2016

Causes a crash on iOS 10

This is confirmed to be using a private API as well and has a high likelihood of causing rejection in App Store reviews.

@mitchrsm

This comment has been minimized.

Copy link

mitchrsm commented Sep 10, 2016

any solution for iOS 10?

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Sep 19, 2016

There's no solution for iOS 10 in access OS Settings yet.

@Saurabh102

This comment has been minimized.

Copy link

Saurabh102 commented Oct 12, 2016

@phynet If here is not solution for iOS 10 how did you

@luismadrigal

This comment has been minimized.

Copy link

luismadrigal commented Oct 25, 2016

@phynet is there one for opening/launching ApplePay/Wallet in iOS 10? Prefs:root=PASSBOOK opens the settings for Wallet & Apple Pay and not the actual screen to make a payment.

@luismadrigal

This comment has been minimized.

Copy link

luismadrigal commented Oct 25, 2016

@phynet nevermind, it turns out that to open the Wallet you need to use the app's scheme which is shoebox://

@ghost

This comment has been minimized.

Copy link

ghost commented Oct 25, 2016

shoebox:// confirmed working on iOS 10.1. I would need something similar for opening network settings. Great discovery, no official release yet.

@johnny77221

This comment has been minimized.

Copy link

johnny77221 commented Oct 26, 2016

since apple have no bluetooth option in per-app settings, I got a sample for opening bluetooth sample of the URL
which is objective c only

https://gist.github.com/johnny77221/bcaa5384a242b64bfd0b8a715f48e69f

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Oct 28, 2016

Thanks @luismadrigal for the info, I will update the list when tested for objective-c (shoebox://)

Also, @jonny77221 I will check it out your contribution :D

@dimohamdy

This comment has been minimized.

Copy link

dimohamdy commented Dec 11, 2016

@phynet any update

@XweAponX

This comment has been minimized.

Copy link

XweAponX commented Jan 8, 2017

No url for Battery?

@antonjn

This comment has been minimized.

Copy link

antonjn commented Jan 19, 2017

Battery: "Prefs:root=BATTERY_USAGE"
Siri: "Prefs:root=SIRI"

@mikengyn

This comment has been minimized.

Copy link

mikengyn commented Feb 1, 2017

Using App-Prefs instead of just prefs is working in IOS 10.2. However i'm not sure if apple approves this or not.

@mahirekici

This comment has been minimized.

Copy link

mahirekici commented Feb 8, 2017

App-Prefs is working in IOS 10.2

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Mar 27, 2017

Thank you all for the collaboration. I've tested App-Prefs and it's working for Swift 3. You have the updated file now 💃

@andrewminchew

This comment has been minimized.

Copy link

andrewminchew commented Mar 29, 2017

Can you help me with this? I'm trying to write a workflow that jumps into the notifications settings for all my work apps in sequence so I can easily enable my work notifications at the start of each day. I've tried the following URL schemes but the only get me into the notifications, they don't go the extra step of opening the settings for the specified apps...

App-prefs:root=NOTIFICATIONS_ID&path=com.microsoft.lync2013.iphone
App-prefs:root=NOTIFICATIONS_ID&path=com.microsoft.Office.Outlook

i found the Bundle Name (?) using the app store look up url ex http://itunes.apple.com/lookup?id=

Can someone tell me what I'm doing wrong?

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented Mar 29, 2017

@andrewminchew you are in the right track. I've tested the scheme with an app that HAS notifications enabled (maybe that's the problem you have) and did open the notifications for that app. You need the bundleID pasted in path...

UIApplication.shared.openURL(NSURL(string:"App-prefs:root=NOTIFICATIONS_ID&path=com.microsoft.Office.Word")! as URL)

Finding an app's bundle identifier of any app:

Find the app you are looking for on the Apple AppStore. For this example, we’ll use Yelp: https://itunes.apple.com/us/app/yelp/id284910350?mt=8
Copy the app ID number. It’s just the numbers after the text “id” and before the “?”. So in this case, it is: 284910350.
Paste that ID number into this URL:
https://itunes.apple.com/lookup?id=284910350
This will download a file 1.txt
Search the output you get back for “bundleId”. The app’s bundle ID will be listed there: com.yelp.yelpiphone

source: https://kb.acronis.com/content/39368

@2Grey

This comment has been minimized.

Copy link

2Grey commented May 15, 2017

How can I use this schemes in Safari?

I tried to open link App-Prefs://root=General in Safari, and got:

Safari cannot open the page because the address is invalid.

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented May 16, 2017

@2Grey yo want to open a scheme from a safari website or navigator oriented app ? that's a little more complicated. I've never tried that, so I can't tell you how to do it. Let's hope someone else can help you with this.

@deanlyoung

This comment has been minimized.

Copy link

deanlyoung commented May 23, 2017

@phynet I made some more revisions/additions to keep things consistent and cleaner. See my fork for changes. Thanks!

edit: Also, a great way to find/test these is loading them into a Workflow. You can then also launch the shortcuts via the Widget or within the app.

@phynet

This comment has been minimized.

Copy link
Owner

phynet commented May 25, 2017

Thank you for your colaboration @deanlyoung. I've updated the gist ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment