Схема 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. Это действительно хорошее решение.