Схема URL-адресов iOS 11 для определенного раздела настроек перестала работать

Мое приложение использует схему URL-адресов для непосредственного подключения пользователей к разделу "Настройки/Общие/О нас", следующий URL-адрес работал отлично в 10.3.x.
   "App-Prefs: корень = General & путь = О"

Однако эта схема URL больше не работает в сборке iOS 11 GM. Он запускает только приложение "Настройки", но не принимает пользователя дальше. Кто-нибудь знает, если это ожидается в официальном выпуске iOS 11? Спасибо заранее.

Ответ 1

let url = NSURL(string: "app-settings:root=Privacy&path=LOCATION")! as URL
UIApplication.shared.open(url, options: [:], completionHandler: nil)

Он отлично работает для меня, iOS11 как на устройстве iPhone, так и на симуляторе.

"App-Prefs:" изменится на "app-settings:", тогда будет работать.

Ответ 2

Это больше не работает с iOS 11.

Вот единственное, что вы можете сделать в настоящее время:

Откройте приложение "Настройки" (все, что написано после : игнорируется)

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

Откройте настройки своего приложения

UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!)

Ответ 3

У меня нет рабочего решения, но найдено что-то интересное. Следующие две схемы URL запускают приложение "Настройки".

"App-Prefs:" "приложение-настройка:"

Итак, похоже, что iOS игнорирует root = xyz & path = 123...

Ответ 4

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

это может быть лучше, чем "app-settings". Однако мне нужно открыть настройку включения местоположения системы, похоже, что это не может быть решено в iOS 11

Ответ 5

После получения некоторых новых предложений, я считаю, что лучшее, что мы можем сделать в iOS11 - это iOS11 пользователя непосредственно в собственный раздел приложения в настройках с помощью приведенного ниже кода:

В Objective-C:

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

Я попробовал это на своем iPhone SE и смог запустить в разделе собственных настроек приложения.

Ответ 6

Я использую "app-settings:root=Privacy&path=LOCATION" отлично работает в iOS8, iOS9, iOS10 и iOS1. Это действительно хорошее решение.