Хорошо, я знаю, что есть много вопросов по этому поводу, но все они были много лет назад.
Так. Я знаю, что это возможно, потому что приложение Map делает это.
В приложении «Карта», если я отключаю локализацию для этого приложения, оно отправляет мне сообщение, и если я нажимаю «ОК», откроется «Приложение настроек». И мой вопрос, как это возможно? Как я могу открыть «Настройка приложения» из моего собственного приложения?
По сути, мне нужно сделать то же самое, если пользователь отключит расположение моего приложения, то я покажу ему сообщение о чем-то, что откроет «Настройка приложения».
ios
objective-c
iphone
application-settings
appsettings
FelipeDev.-
источник
источник
Ответы:
Как отметил Каран Дуа это теперь возможно в iOS8 с использованием
UIApplicationOpenSettingsURLString
см документации компании Apple .Пример:
Swift 4.2
В Swift 3:
В Swift 2:
В Objective-C
До iOS 8:
Ты не можешь. Как вы сказали, это уже освещалось много раз, и это всплывающее окно с просьбой включить службы определения местоположения предоставляется Apple, а не самим приложением. Именно поэтому он может открыть приложение настроек.
Вот несколько связанных вопросов и статей:
Можно ли открыть приложение настроек с помощью openURL?
Программно открываем приложение настроек (iPhone)
Как открыть приложение «Настройки», когда пользователь нажимает кнопку?
iPhone: Открытие панели настроек приложения из приложения
Откройте UIPickerView, нажав на запись в настройках приложения - Как?
Открыть приложение «Настройки»?
iOS: вы делаете настройки неправильно
источник
От @Yatheeshaless «S ответ :
Вы можете открыть приложение настроек программно в iOS8, но не в более ранних версиях iOS.
Swift:
Свифт 4:
Swift 4.2 (бета):
Objective-C:
источник
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
ДА!! Вы можете запустить экран настроек устройства, я протестировал на iOS 9.2
Шаг 1. нам нужно добавить схемы URL
Зайдите в Настройки проекта -> Информация -> Типы URL -> Добавить новые схемы URL
Шаг 2. Запустите настройки программно благодаря @davidcann
Также мы можем запускать подэкраны, такие как Музыка, Местоположение и т. Д., Просто используя правильное имя
Смотрите этот полный список имен здесь, поделенный Анри Нормак
Обновить:
В соответствии с комментарием каждый хочет знать, что происходит после этого изменения в моем статусе подачи заявки?
Так
YES!! I got successful update submission and application is available on store without any complain.
Просто чтобы подтвердить, я только что скачал сегодня утром и отключил службы определения местоположения, а затем запустил приложение, которое запрашивало у меня разрешение на определение местоположения, а затем появилось мое всплывающее окно с предупреждением, чтобы отправить мне настройки -> страница служб определения местоположения -> Включено -> Это оно!!
! [ВНИМАНИЕ: Ваше приложение может быть отклонено ... даже если оно одобрено, оно может быть отклонено в будущей версии, если вы используете этот метод ...] 4
источник
Вы можете использовать это на iOS 5.0 и более поздних версиях:это больше не работает.источник
prefs:root=General&path=Bluetooth
обновление iOS 10
Apple изменила метод, чтобы открыть асинхронный в главном потоке. Однако теперь можно открывать настройки приложения только в собственных настройках.
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
iOS 9 обновление
Теперь можно перейти непосредственно в меню под-настроек. Тем не менее, схема URL должна быть создана. Это можно сделать двумя способами:
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>prefs</string> </array> </dict> </array>
Тогда код:
стриж
UIApplication.sharedApplication().openURL(NSURL(string:"prefs:root=General&path=Keyboard")!)
Objective-C
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Keyboard"]];
источник
Magic Launcher
в Appstore.В Swift 3 / iOS 10+ это выглядит сейчас
источник
Свифт 3:
источник
Похоже, вы можете использовать
prefs:<area>
URL, чтобы открыть настройки и перейти к определенным областям. Apple может изменить их и сломать ваше приложение, поэтому всегда проверяйте, можете ли вы открыть их первыми.Из этой статьи они перечислили некоторые из них для iOS 13.1:
URL настроек
ICloud
prefs:root=CASTLE
prefs:root=CASTLE&path=BACKUP
Беспроводные радио
prefs:root=WIFI
prefs:root=Bluetooth
prefs:root=MOBILE_DATA_SETTINGS_ID
Персональная точка доступа
prefs:root=INTERNET_TETHERING
prefs:root=INTERNET_TETHERING&path=Family%20Sharing
prefs:root=INTERNET_TETHERING&path=Wi-Fi%20Password
VPN
prefs:root=General&path=VPN
Уведомления
prefs:root=NOTIFICATIONS_ID
prefs:root=NOTIFICATIONS_ID&path=Siri%20Suggestions
Звуки
prefs:root=Sounds
prefs:root=Sounds&path=Ringtone
Просьба не беспокоить
prefs:root=DO_NOT_DISTURB
prefs:root=DO_NOT_DISTURB&path=Allow%20Calls%20From
Экранное время
prefs:root=SCREEN_TIME
prefs:root=SCREEN_TIME&path=DOWNTIME
prefs:root=SCREEN_TIME&path=APP_LIMITS
prefs:root=SCREEN_TIME&path=ALWAYS_ALLOWED
Общее
prefs:root=General
prefs:root=General&path=About
prefs:root=General&path=SOFTWARE_UPDATE_LINK
prefs:root=General&path=CARPLAY
prefs:root=General&path=AUTO_CONTENT_DOWNLOAD
prefs:root=General&path=MULTITASKING
prefs:root=General&path=DATE_AND_TIME
prefs:root=General&path=Keyboard
prefs:root=General&path=Keyboard/KEYBOARDS
prefs:root=General&path=Keyboard/Hardware%20Keyboard
prefs:root=General&path=Keyboard/USER_DICTIONARY
prefs:root=General&path=Keyboard/ReachableKeyboard
prefs:root=General&path=INTERNATIONAL
prefs:root=General&path=DICTIONARY
prefs:root=General&path=ManagedConfigurationList
prefs:root=General&path=Reset
Центр управления
prefs:root=ControlCenter
prefs:root=ControlCenter&path=CUSTOMIZE_CONTROLS
дисплей
prefs:root=DISPLAY
prefs:root=DISPLAY&path=AUTOLOCK
prefs:root=DISPLAY&path=TEXT_SIZE
доступность
prefs:root=ACCESSIBILITY
Обои на стену
prefs:root=Wallpaper
Siri
prefs:root=SIRI
Яблочный карандаш
prefs:root=Pencil
ID лица
prefs:root=PASSCODE
Экстренная SOS
prefs:root=EMERGENCY_SOS
аккумулятор
prefs:root=BATTERY_USAGE
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH
Конфиденциальность
prefs:root=Privacy
prefs:root=Privacy&path=LOCATION
prefs:root=Privacy&path=CONTACTS
prefs:root=Privacy&path=CALENDARS
prefs:root=Privacy&path=REMINDERS
prefs:root=Privacy&path=PHOTOS
prefs:root=Privacy&path=MICROPHONE
prefs:root=Privacy&path=SPEECH_RECOGNITION
prefs:root=Privacy&path=CAMERA
prefs:root=Privacy&path=MOTION\
Магазин приложений
prefs:root=STORE
prefs:root=STORE&path=App%20Downloads
prefs:root=STORE&path=Video%20Autoplay
Бумажник
prefs:root=PASSBOOK
Пароли и учетные записи
prefs:root=ACCOUNTS_AND_PASSWORDS
prefs:root=ACCOUNTS_AND_PASSWORDS&path=FETCH_NEW_DATA
prefs:root=ACCOUNTS_AND_PASSWORDS&path=ADD_ACCOUNT
почта
prefs:root=MAIL
prefs:root=MAIL&path=Preview
prefs:root=MAIL&path=Swipe%20Options
prefs:root=MAIL&path=NOTIFICATIONS
prefs:root=MAIL&path=Blocked
prefs:root=MAIL&path=Muted%20Thread%20Action
prefs:root=MAIL&path=Blocked%20Sender%20Options
prefs:root=MAIL&path=Mark%20Addresses
prefs:root=MAIL&path=Increase%20Quote%20Level
prefs:root=MAIL&path=Include%20Attachments%20with%20Replies
prefs:root=MAIL&path=Signature
prefs:root=MAIL&path=Default%20Account
контакты
prefs:root=CONTACTS
Календарь
prefs:root=CALENDAR
prefs:root=CALENDAR&path=Alternate%20Calendars
prefs:root=CALENDAR&path=Sync
prefs:root=CALENDAR&path=Default%20Alert%20Times
prefs:root=CALENDAR&path=Default%20Calendar
Ноты
prefs:root=NOTES
prefs:root=NOTES&path=Default%20Account
prefs:root=NOTES&path=Password
prefs:root=NOTES&path=Sort%20Notes%20By
prefs:root=NOTES&path=New%20Notes%20Start%20With
prefs:root=NOTES&path=Sort%20Checked%20Items
prefs:root=NOTES&path=Lines%20%26%20Grids
prefs:root=NOTES&path=Access%20Notes%20from%20Lock%20Screen
Напоминания
prefs:root=REMINDERS
prefs:root=REMINDERS&path=DEFAULT_LIST
Голосовые заметки
prefs:root=VOICE_MEMOS
Телефон
prefs:root=Phone
Сообщения
prefs:root=MESSAGES
FaceTime
prefs:root=FACETIME
Карты
prefs:root=MAPS
prefs:root=MAPS&path=Driving%20%26%20Navigation
prefs:root=MAPS&path=Transit
Компас
prefs:root=COMPASS
Мера
prefs:root=MEASURE
Сафари
prefs:root=SAFARI
prefs:root=SAFARI&path=Content%20Blockers
prefs:root=SAFARI&path=DOWNLOADS
prefs:root=SAFARI&path=Close%20Tabs
prefs:root=SAFARI&path=CLEAR_HISTORY_AND_DATA
prefs:root=SAFARI&path=Page%20Zoom
prefs:root=SAFARI&path=Request%20Desktop%20Website
prefs:root=SAFARI&path=Reader
prefs:root=SAFARI&path=Camera
prefs:root=SAFARI&path=Microphone
prefs:root=SAFARI&path=Location
prefs:root=SAFARI&path=ADVANCED
Новости
prefs:root=NEWS
Здоровье
prefs:root=HEALTH
Ярлыки
prefs:root=SHORTCUTS
Музыка
prefs:root=MUSIC
prefs:root=MUSIC&path=com.apple.Music:CellularData
prefs:root=MUSIC&path=com.apple.Music:OptimizeStorage
prefs:root=MUSIC&path=com.apple.Music:EQ
prefs:root=MUSIC&path=com.apple.Music:VolumeLimit
телевидение
prefs:root=TVAPP
Фото
prefs:root=Photos
камера
prefs:root=CAMERA
prefs:root=CAMERA&path=Record%20Video
prefs:root=CAMERA&path=Record%20Slo-mo
книги
prefs:root=IBOOKS
Игровой центр
prefs:root=GAMECENTER
источник
UIApplicationOpenSettingsURLString
это будет работать, только если вы ранее разрешили любое разрешение. Например, Местоположение, Фото, Контакт, Доступ к push-уведомлениям. Так что, если у вас нет таких разрешений от пользователя:Если iOS 10 или выше ,
Он откроет настройки, но затем вылетит. Причина в настройках вашего приложения.
Ниже код откроет настройки вашего приложения в настройках iOS.
Из-за недоступности устройства я не смог проверить это на iOS <10.
Кроме того, я мог найти приведенный ниже код из некоторой сущности, и он прекрасно работает на iOS 10. Но я не уверен, одобрит ли это команда проверки Apple или нет.
https://gist.github.com/johnny77221/bcaa5384a242b64bfd0b8a715f48e69f
источник
В Swift 3 все, что мне нужно, это (здесь, например, перенаправление на уведомления моего приложения):
Источник: phynet gist .
Это работало со мной, только когда настройки в фоновом режиме. Он перенаправит вас к настройкам уведомлений вашего приложения, но если настройки не выполнялись в фоновом режиме, он просто перенаправит вас к настройкам уведомлений в целом.
источник
Вы можете использовать код ниже для этого.
источник
SWIFT 4.0
источник
Swift 4
Я предпочитаю открывать настройки более безопасным способом,
источник
Swift Вы можете использовать следующую функцию, чтобы открыть приложение «Настройки» с помощью страницы Bluetooth.
Опять же, это не откроет настройки приложения. Это откроет приложение настроек с Bluetooth, так как это глубокая связь с Bluetooth.
источник
Протестировано с iOS 10. Работа
Удачного кодирования :)
источник
Чтобы добавить к принятому ответу: (из документации Apple для разработчиков) «При открытии URL-адреса, созданного из этой строки (openSettingsURLString), система запускает приложение« Настройки »и отображает пользовательские настройки приложения, если они есть.» Итак, если вы хотите открыть настройки для своего приложения, создайте свой собственный файл Settings.bundle.
источник
Добавьте это в свой класс,
Звони так,
источник