iPhone- Откройте настройки из моего приложения iOS 6

17

Я знаю, что есть много вопросов, связанных с этим.

1) можно открыть приложение «Настройки» с помощью openURL ?

2) Открытие приложения настроек из другого приложения

3) Настройки запуска iOS - & gt; Схема URL-адресов ограничений

Я задал эти вопросы для справки, но это не решает мой запрос. Я знаю, что используя метод openURL , вы можете открыть «Настройки», но это было действительно только для iOS 5.0 - 5.0.1. В iOS 5.1 он устарел.

  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]]; 

Тем не менее, я видел много приложений, основанных на местоположении, на основе которых запрашивается разрешение пользователя на включение служб геолокации и непосредственно на службы определения местоположения в разделе Настройки - & gt; Конфиденциальность. Снимок экрана приложения, установленного на устройстве iOS 6.1, показывает, что нажатие на «Настройки» позволяет вам напрямую «Службы местоположения» .

Я попытался запустить код в своем приложении, но он не работает (я хочу перейти на страницу настроек, чтобы мое приложение могло получить доступ к контактной информации непосредственно из моего приложения). Если Apple отключила URL-схемы для этого, как многие приложения все еще используют его?

    
задан rohan-patel 28.03.2013 в 13:44
источник

2 ответа

26

Для приложений, которые привязаны к таким сервисам, как Location, в первый раз, когда они запрашивают доступ к ОС, выкидывает предупреждение с помощью кнопок, которые ссылаются на «Настройки». Это не действие приложения, а базовая безопасность ОС.

iOS 6 удалила возможность сделать это самостоятельно, как вы упомянули.

    
ответ дан Cocoadelica 28.03.2013 в 13:46
источник
15

Вы можете открывать приложения настроек программно в iOS8, но не в ранних версиях iOS.

В Swift:

UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString));

Swift 4:

if let url = NSURL(string: UIApplicationOpenSettingsURLString) as URL? {
    UIApplication.shared.openURL(url)
}

В Objective-C

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    
ответ дан Rajneesh071 27.11.2014 в 10:23
источник