Как открыть общий вид настроек из оповещения быстрого приложения?

Я использую этот код, чтобы попытаться открыть общие настройки iOS из моего приложения, но это открывает окно настроек приложения, а не общее.

let alert = UIAlertController(
    title: "IMPORTANT",
    message: "Camera access required for QR Scanning",
    preferredStyle: UIAlertController.Style.alert
)

alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "Allow", style: .cancel, handler: { (alert) -> Void in
    UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!, options: [:] )
}))
present(alert, animated: true, completion: nil)

Можно ли открыть общий вид, используя правильный код, чтобы избежать отказа от Apple, например, с помощью «App-Prefs: root = General»?


person user3745888    schedule 21.03.2019    source источник
comment
AFAIK вы не можете (или не должны, поскольку URL-адрес (который вам нужно будет использовать) считается частным api, и ваше приложение будет отклонено, если вы попытаетесь отправить его в App Store)   -  person MadProgrammer    schedule 22.03.2019


Ответы (1)


Навигация пользователя к настройкам вашего приложения - это правильный подход, рекомендованный Руководством по человеческому интерфейсу:

При необходимости укажите ярлыки для настроек. Если ваше приложение содержит текст, который направляет пользователей к настройкам, например «Перейдите в Настройки> Мое приложение> Конфиденциальность> Службы геолокации», предоставьте кнопку, которая автоматически открывает это местоположение. Инструкции для разработчиков см. В разделе openSettingsURLString в UIApplication.
https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/settings/.

Пользователь может управлять всеми настройками, связанными с вашим приложением, включая разрешение и запрет доступа к камере (что вам нужно).

person ManWithBear    schedule 21.03.2019