схема прошивкой запускаем настройки -> ограничения URL-адрес



Я недавно обнаружил удивительный пользовательские настройки iOS5 URL Scheme, что можно подробно объяснить на этом великом сайт.



Я нашел это для работы, направляя пользователя в приложение Настройки из моего приложения:



[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=General"]];


но не может показаться, чтобы маршрут непосредственно к ограничения путь через

608   13  

13 ответов:

как @Nix Wangответ это не работа в IOS 10


предупреждение: этот метод не будет работать для устройств под управлением iOS 5.1 и выше - см. комментарий Hlung ниже.

вполне возможно, что path компонент имеет другое имя, чем фактический раздел, но также возможно, что в настоящее время вы не можете получить доступ к этому разделу прямо из URL. Я нашел список возможных URL-адресов и ограничений на него нет, может быть, это просто еще не выяснено.

список известных в настоящее время URL-адресов в настройках приложения:

  • prefs: root=General & path=About
  • prefs: root=General&path=ACCESSIBILITY
  • prefs: root=AIRPLANE_MODE
  • prefs: root=General & path=AUTOLOCK
  • prefs: root=General & path=USAGE / CELLULAR_USAGE
  • prefs: root=яркость
  • prefs: root=General & path=Bluetooth
  • prefs: root=General & path=DATE_AND_TIME
  • prefs: root=FACETIME
  • prefs: root=General
  • prefs: root=General & path=Keyboard
  • prefs: root=CASTLE
  • prefs: root=CASTLE & path=STORAGE_AND_BACKUP
  • prefs: root=General & path=INTERNATIONAL
  • prefs: root=LOCATION_SERVICES
  • prefs: root=ACCOUNT_SETTINGS
  • настройки:корень=музыка
  • prefs: root=MUSIC & path=EQ
  • prefs: root=MUSIC & path=VolumeLimit
  • prefs: root=General & path=Network
  • prefs: root=NIKE_PLUS_IPOD
  • prefs: root=NOTES
  • prefs: root=NOTIFICATIONS_ID
  • prefs: root=Phone
  • prefs: root=фото
  • prefs: root=General & path=ManagedConfigurationList
  • prefs:root=General & path=Reset
  • prefs: root=Sounds & path=Ringtone
  • prefs: root=Safari
  • prefs: root=General & path=Assistant
  • prefs: root=Sounds
  • prefs: root=General & path=SOFTWARE_UPDATE_LINK
  • prefs: root=STORE
  • prefs: root=TWITTER
  • prefs: root=General & path=USAGE
  • настройки:корень=видео
  • prefs: root=General & path=Network / VPN
  • prefs: root=Wallpaper
  • настройки:корень=беспроводной доступ в интернет
  • prefs: root=INTERNET_TETHERING

начиная с iOS8 вы можете открыть встроенное приложение Настройки с:

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
   [[UIApplication sharedApplication] openURL:url];
}

фактическая строка URL-адреса @"app-settings:". Я попытался добавить различные разделы к строке ("Bluetooth", "GENERAL" и т. д.) но, похоже, работает только ссылка на главный экран настроек. Отправьте ответ, если вы узнаете иначе.

Если вы добавите схему URL prefs в свое приложение iOS, это позволит вам использовать все те схемы, которые мы могли бы использовать в iOS 5. Я тестировал его на iOS 9, но я думаю, что он будет работать и на более старых версиях.

обновление:

prefs: не будет работать с iOS 10.

Да, видел это (и многое другое), даже реализовал его в тестовом приложении. Действительно нужно получить окончательное слово от Apple, но общее мнение сообщества-Apple запретила его в 5.1 после того, как он был публично "обнаружен/опубликован", поэтому приложения, содержащие его, не будут приняты.

обновление 08/01/12: спросил Apple через мою учетную запись разработчика, если есть способ программно запустить диалоговое окно настроек WiFi. Вот ответ:

"наши инженеры рассмотрели ваше обращение и пришли к выводу, что не существует поддерживаемого способа достижения желаемой функциональности, заданной текущие конфигурации системы доставки."

на iOS 9 он снова работает!

открыть Настройки > Общие > Клавиатура, Я:

prefs:root=General&path=Keyboard

кроме того, можно пойти дальше клавиатуры:

prefs:root=General&path=Keyboard/KEYBOARDS

Я хотел открыть меню Bluetooth в приложении настроек, и приведенный выше путь (prefs:root=General&path=Bluetooth) не работал для меня. Что в конечном итоге работает для меня

UIApplication.sharedApplication().openURL(NSURL(string:"prefs:root=Bluetooth")!)

убедитесь, что у вас есть prefs схемы URL-адрес, определенный в первую очередь.

решение для iOS10. Работать отлично.

NSURL *URL = [NSURL URLWithString:@"App-prefs:root=TWITTER"];
[[UIApplication sharedApplication] openURL:URL options:@{} completionHandler:nil];

С iOS10 вы можете использовать

UIApplication.sharedApplication().openURL(NSURL(string:"App-Prefs:root")!) 

для открытия общих настроек.

также вы можете добавить известные URL-адреса(вы можете увидеть их в самом популярном ответе), чтобы открыть определенные настройки. Например, ниже открывается touchID и пароль.

UIApplication.sharedApplication().openURL(NSURL(string:"App-Prefs:root=TOUCHID_PASSCODE")!)

вот еще что я нашел:

  1. после того, как я определил схему URL" prefs", "prefs: root=Safari & path=ContentBlockers" работает на симуляторе (iOS 9.1 английский язык), но не работает на тренажере (Упрощенный Китайский). Он просто прыгает в Safari, но не блокирует контент. Если ваше приложение является международным, будьте осторожны.
    Обновление: не знаю почему, теперь я больше не могу прыгать в ContentBlockers, тот же код, же версия, не работает сейчас. : (

  2. на реальных девайсах (мой iPhone 6S & iPad mini 2), "сафари" должно быть "сафари", "Safari" не работает на реальном устройстве, "SAFARI" теперь работает на симуляторе:

    #if arch(i386) || arch(x86_64)
        // Simulator
        let url = NSURL(string: "prefs:root=Safari")!
    #else
        // Device
        let url = NSURL(string: "prefs:root=SAFARI")!
    #endif
    
    if UIApplication.sharedApplication().canOpenURL(url) {
        UIApplication.sharedApplication().openURL(url)
    }
    
  3. до сих пор не нашел никаких различий между iPhone и iPad.

отлично работает для настроек уведомлений приложений на IOS 10 (протестировано)

if(&UIApplicationOpenSettingsURLString != nil){
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}

iOS 10

использовать app-prefs:

App-prefs:root=MOBILE_DATA_SETTINGS_ID

посмотреть суть

Я обновляю одну новость здесь. Использование 'prefs:' только не отклоняется Apple, я протестировал его и проверил одобрено в app store(в августе 2016 года). тнх.

Comments

    Ничего не найдено.