Приложение «Настройки доступа» в iOS - PullRequest
7 голосов
/ 12 марта 2012

Есть ли возможность показать settings.app в iOS, нажав на кнопку?Он должен работать с iOS 5.1, поэтому URL "prefs: root ..." не подходит.

У вас есть идея, как решить эту проблему?

Ответы [ 4 ]

9 голосов
/ 22 августа 2014

Я знаю, что вопрос конкретно о 5.1, но в случае, если кто-то еще заинтересован:

Начиная с iOS 8, можно взять пользователя из вашего приложения прямо в приложении «Настройки». Они будут глубоко связаны с конкретной страницей настроек вашего приложения, но могут вернуться на экран настроек верхнего уровня.

UPDATE:

Благодаря комментарию Павла я упростил оператор if и избежал EXC_BAD_ACCESS на iOS 7.

ОБНОВЛЕНИЕ 2:

Если цель развертывания установлена ​​на 8.0 или выше, Xcode 6.3 выдаст вам следующее предупреждение:

Comparison of address of 'UIApplicationOpenSettingsURLString' not equal to a null pointer is always true

Это потому, что эта функция была доступна начиная с 8.0, поэтому этот указатель никогда не будет NULL. Если ваша цель развертывания - 8.0+, просто удалите оператор if, приведенный ниже.

if (&UIApplicationOpenSettingsURLString != NULL) {
    NSURL *appSettings = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
    [[UIApplication sharedApplication] openURL:appSettings];
} 
4 голосов
/ 26 апреля 2012

Вы не можете сделать это на iOS 5.1.Скорее всего, Apple удалила эту возможность намеренно (вы получите «Пожалуйста, введите правильный URL», хотя Twitter все еще может вызывать Настройки).Пожалуйста, обратитесь к:

1 голос
/ 03 декабря 2015

На iOS 8 Apple дала нам возможность перейти к настройкам приложения прямо из нашего приложения

, вы можете применить этот код:

- (IBAction)openSettings:(id)sender {
    BOOL canOpenSettings = (UIApplicationOpenSettingsURLString != NULL);
    if (canOpenSettings) {
        NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
        [[UIApplication sharedApplication] openURL:url];
    }
}
0 голосов
/ 02 ноября 2012

iOS6 показывает возможность открывать приложение настроек непосредственно из «AlertView» (отображается автоматически), если он обнаруживает, пытаетесь ли вы публиковать сообщения в FB или Twitter без настройки этих учетных записей.

Я разработал это здесь

...