Здравствуй. Я не нашел другую строку, которая открывает экран настройки Wi-Fi

е, что Apple перенесла многие конфигурации приложений в путь к приложениям с iOS 11, как программно открыть путь к приложению в настройках? Я пытался"App-Prefs:root=\(Bundle.main.bundleIdentifier!)" но это не похоже на работу.

Обратите внимание, что мой вопрос относится к:Как открыть путь к приложению в настройках:НЕ как открыть настройки

 Kyle Browning02 янв. 2019 г., 20:25
Никто не знает @DanielSpringer.
 Daniel Springer27 авг. 2018 г., 19:19
Какделать вы открываете только приложение Настройки?

Ответы на вопрос(4)

Swift 4.2, iOS 12

Открытие только настроек возможно с помощью функции ниже:

extension UIApplication {

    ...

    @discardableResult
    static func openAppSettings() -> Bool {
        guard
            let settingsURL = URL(string: UIApplication.openSettingsURLString),
            UIApplication.shared.canOpenURL(settingsURL)
            else {
                return false
        }

        UIApplication.shared.open(settingsURL)
        return true
    }
}

Использование:UIApplication.openAppSettings()

Но будьте осторожны сНЕ использовать "непубличная схема URL", такие как:prefs:root= или жеApp-Prefs:rootпотому что в противном случае ваше приложение будет отклонено. Это случилось со мной недавно, так как я пытался получить ссылку в разделе Wi-Fi в настройках.

 Alessandro Francucci08 нояб. 2018 г., 12:34
Я полностью согласен с вами, спасибо!
 Alessandro Francucci05 мар. 2019 г., 09:55
Обновлено, спасибо
 maslovsa28 февр. 2019 г., 10:14
Swift 4.2 UIApplicationOpenSettingsURLString был переименован в UIApplication.openSettingsURLString
 Markus Rautopuro06 нояб. 2018 г., 11:24
Вы, вероятно, должны назвать этоUIApplication.openAppSettings() (обратите внимание наs) на соответствиеopenSettingsURLString
 Kyle Browning02 янв. 2019 г., 20:24
Это займет вас, чтобы применить конкретные настройки приложения, если они существуют (например, использование Siri или контакты). Если они не существуют, вы попадете в приложение настроек и какую страницу в последний раз открывали. Что он не делает, и что никто не смог понять, так это как всегда открывать приложение «Настройки» на главном экране, если в вашем приложении есть страница настроек.

openURL устарела с iOS 10, поэтому я бы посоветовал вам использовать:

    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url, options: [:], completionHandler: { success in
            log.debug("Open app settings success: \(success)")
        })
    }
}
 kemdo26 мар. 2018 г., 22:13
Здравствуй. Я не нашел другую строку, которая открывает экран настройки Wi-Fi

чтобы это работало как для старых, так и для новых версий iOS, то выполните:

if let url = URL(string:UIApplicationOpenSettingsURLString) {
    if UIApplication.shared.canOpenURL(url) {
        if #available(iOS 10.0, *) {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        } else {
            UIApplication.shared.openURL(url)
        }
    }
}
Решение Вопроса

if let url = URL(string:UIApplicationOpenSettingsURLString) {
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
}
 Theo18 дек. 2018 г., 14:39
Призыв кcanOpenURL не нужен - последующий вызовopen просто терпит неудачу (это не вызывает исключение или вылетает из приложения).
 Andrea Leganza30 мая 2018 г., 08:50
Примечание. UIApplication.shared.open (url, параметры: [:], завершение: ноль) - это iOS 10+.

Ваш ответ на вопрос