Как открыть экран Location services с экрана настройки?
9 ответов
услуги App-Prefs:root=Privacy&path=LOCATION
работал для меня. Когда я тестировал на устройстве, а не на симуляторе.
Я не буду перечислять то, что я пробовал, что не сработало, это длинный список.
пример использования, который предполагает, что службы location services отключены или разрешение отказано или не определено:
if !CLLocationManager.locationServicesEnabled() {
if let url = URL(string: "App-Prefs:root=Privacy&path=LOCATION") {
// If general location settings are disabled then open general location settings
UIApplication.shared.openURL(url)
}
} else {
if let url = URL(string: UIApplicationOpenSettingsURLString) {
// If general location settings are enabled then open location settings for the app
UIApplication.shared.openURL(url)
}
}
вы можете открыть его напрямую, как с помощью ниже код,
но первый сет URL Schemes
in Info.тип URL plist:
затем напишите ниже строки на конкретном событии:
на С :
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
на Свифт :
UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=LOCATION_SERVICES")!)
надеюсь, это поможет вам.
Swift 3
перейти прямо к настройкам вашего приложения, как это. Не забудьте ввести идентификатор пакета -
if let url = URL(string: "App-Prefs:root=Privacy&path=LOCATION/your.bundle.identifier") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
Я пробовал все вышеперечисленные ответы, он не работает на iOS11..он просто открывает страницу настроек, а не настройки приложения .. Наконец-то это сработало..
UIApplication.shared.open(URL(string:UIApplicationOpenSettingsURLString)!)
Refer:https://developer.apple.com/documentation/uikit/uiapplicationopensettingsurlstring?language=swift
первый:
добавить URL
перейдите в настройки проекта --> информация --> типы URL -> добавить новые схемы URL
см. рисунок ниже:
второй:
используйте код ниже, чтобы открыть Настройки местоположения:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
Шаг 1: Нажмите на название проекта > > цель> > информация > > типы url
Шаг 2:
-(IBAction)openSettingViewToEnableLocationService:(id)sender
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
}
на самом деле это гораздо более простое решение. Он покажет настройки вашего приложения с помощью loction services / camera access и т. д.:
func showUserSettings() {
guard let urlGeneral = URL(string: UIApplicationOpenSettingsURLString) else {
return
}
UIApplication.shared.open(urlGeneral)
}
SWIFT 4 тестирование:
единственный способ избежать отклонения и открыть Настройки местоположения собственного приложения:
if let bundleId = Bundle.main.bundleIdentifier,
let url = URL(string: "\(UIApplication.openSettingsURLString)&path=LOCATION/\(bundleId)") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
после добавления префов в качестве типа url используйте следующий код, чтобы перейти непосредственно к настройкам местоположения приложения.
if let url = URL(string: "App-prefs:root=LOCATION_SERVICES") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}