IOS 11 URL scheme for a specific settings section has stopped working

My application uses a URL scheme to connect users directly to the Settings / General / About Us section, the following URL worked fine in 10.3.x.
"App-Prefs: root = General & path = Oh"

However, this URL scheme no longer works in the iOS 11 GM build. It launches only the Settings application, but does not accept the user further. Does anyone know if this is expected in the official release of iOS 11? Thanks in advance.

+13
ios ios11 url-scheme
source share
6 answers
let url = NSURL(string: "app-settings:root=Privacy&path=LOCATION")! as URL UIApplication.shared.open(url, options: [:], completionHandler: nil) 

It works great for me, iOS11 on both the iPhone device and the simulator.

"App-Prefs:" will change to "app-settings:", then it will work.

+2
source share

This no longer works with iOS 11.

Here is the only thing you can do now:

Open the Settings app (everything that is written after : ignored)

 UIApplication.shared.open(URL(string: "App-prefs:")!) 

Open your app settings

 UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!) 
+1
source share

I do not have a working solution, but something interesting was found. The following two URL patterns start the Settings app.

"App-Prefs:" "application-setting:"

So it looks like iOS is ignoring root = xyz & path = 123 ...

0
source share
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; 

it may be better than "app-settings". However, I need to open the system location enable setting, it seems that this cannot be solved in iOS 11

-2
source share

After receiving some new suggestions, I believe that the best we can do in iOS11 is the iOS11 user directly in the application’s own section in the settings using the code below:

In Objective-C:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; 

I tried this on my iPhone SE and was able to run in the application’s own settings section.

-2
source share

I use " app-settings:root=Privacy&path=LOCATION " works fine in iOS8, iOS9, iOS10 and iOS1. This is a really good solution.

-4
source share

All Articles