Я знаю, что вопрос конкретно о 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];
}