iphone / ipad dev - как программно запустить приложение системных настроек - PullRequest
4 голосов
/ 10 июня 2010

В настройках -> общие, есть переключатель для включения / выключения службы определения местоположения.В приложении «Карты», когда службы определения местоположения отключены, если пользователь нажимает кнопку «Найти меня», появляется всплывающее предупреждение и запрашивается включение служб местоположения в настройках.Затем он выходит из приложения и запускает приложение настроек.Как я могу сделать это программно в моем приложении?

Ответы [ 3 ]

3 голосов
/ 12 октября 2011

Начиная с iOS 5.0, вы можете программно открывать приложение настроек, используя схему URL «prefs: //». Вам не повезло в более ранних версиях.

1 голос
/ 20 июля 2010

Если вы просто используете службы определения местоположения с помощью [CLLocationManager startUpdatingLocation], автоматически отобразится оповещение, которое вы описываете, если службы определения местоположения отключены.

Однако нет способа принудительно отобразить предупреждение, когда ваше конкретное приложение было отклонено от использования служб определения местоположения пользователем (в iOS 4 путем отключения вашего приложения в настройках местоположения, в iOS 3 путем отклонения запроса CoreLocation на первые 2 запуска приложения). Вы получаете только ошибку kCLErrorDenied в -locationManager: didFailWithError:.

В этом случае Maps.app показывает предупреждение с кнопкой «Настройки», но похоже, что для этого они используют частный API.

0 голосов
/ 10 июня 2010

Я не закончил читать весь вопрос!

Тем не менее, см .: Программное открытие приложения настроек (iPhone)

(Исходный ответ: Приложение настроекне похоже на собственную схему URL, поэтому кажется, что ответ «нет».)

...