Подтвердить что ты не робот

Как я могу программно включить режим "Уход" (режим киоска) на iPhone?

Вопрос

Как мне автоматизировать Режим управляемого доступа на iPhone? Мне нужно будет автоматизировать включение и удаление этой функции.

Фон Это приложение из штата Айова использует приложение iOS для отображения вашей лицензии на драйверы. Проблема в том, что после передачи вашего телефона властям у них есть полный доступ к устройству.

Если у меня есть исходный код этого или аналогичное приложение, как я могу получить пароль при отключении временного режима "Киоск", чтобы фотографии, электронные письма или текстовые сообщения недоступны ни с телефона, ни с (в идеале) от USB.

Я нашел это аналогичное решение для Android, но теперь я ищу решение iOS

4b9b3361

Ответ 1

Вы можете войти и выйти из режима управляемого доступа из своего приложения. Однако для этого необходимо контролировать устройство и иметь установленный профиль MDM с идентификатором пакета приложений в списке приложений, которые могут запрашивать режим управляемого доступа (ключ autonomousSingleAppModePermittedAppIDs.

Как только это будет сделано, для ввода управляемого доступа вы выполните следующее:

UIAccessibilityRequestGuidedAccessSession(true){
    success in
    println("Request guided access success \(success)")
}

Ответ 2

Ниже iOS 7

Вы не можете поместить iOS-устройство в режим киоска программно, также вы не можете ничего сделать в своем приложении, чтобы сделать его приложением для киоска (вы не можете отключить события кнопки дома программно, и вы не можете получить события в вашем приложении)

Для того, чтобы устройство работало в режиме киоска, вы можете использовать Apple Guided Access. Но вы не можете включить его программно. Для получения дополнительной информации проверьте здесь


iOS 7 и 7 +

Вы можете использовать:

void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed))

Ссылка UIAccessibilityRequestGuidedAccessSession

UIAccessibilityRequestGuidedAccessSession

Асинхронно переводит приложение в режим одиночного приложения или из него. Декларация

Swift

func UIAccessibilityRequestGuidedAccessSession (_ enable: Bool,                                              _ completeHandler: ((Bool) → Void)!)

Objective-C

void UIAccessibilityRequestGuidedAccessSession (разрешение BOOL, void (^ completeHandler) (BOOL didSucceed)); Параметры включают

Укажите YES, чтобы включить устройство в режим одиночного приложения для этого приложения или NO для выхода из режима Single App.

completeHandler

Блок, который уведомляет ваше приложение об успехе или неудаче операция. Этот блок принимает следующий параметр: didSucceed

Если ДА, приложение успешно перешло в режим одного приложения или из него. Если "НЕТ", приложение или устройство не подходят для режима "Одно приложение" или была другая ошибка. Обсуждение

Вы можете использовать этот метод для блокировки своего приложения в режиме Single App и освободите его из этого режима позже. Например, приложение для тестирования может введите этот режим в начале теста и выйдите из него, когда пользователь завершает тест. Включение режима Single App поддерживается только для устройств, которые контролируются с помощью управления мобильными устройствами (MDM) и само приложение должно быть включено для этого режима с помощью MDM. Вы должны балансировать каждый вызов для входа в режим Single App с вызовом для выхода из этого режима.

Поскольку ввод или выход из режима Single App может занять некоторое время, это метод выполняет асинхронно и уведомляет вас о результатах, используя блок завершения Handler. Операция импорта

импорт Доступность UIKit

Доступен в iOS 7.0 и более поздних версиях.

Также вы можете использовать UIAccessibilityIsGuidedAccessEnabled для проверки того, включен ли управляемый доступ или нет.

Ответ 3

В соответствии с документацией Существует два способа запуска приложения iOS в режиме киоска.

Профиль конфигурации. С помощью управления мобильными устройствами (MDM) мы можем создать профиль конфигурации предприятия и направить его на устройство, используя любой MDM, известный в настоящее время MobileIron, например, или с помощью любая утилита настройки iPhone. После установки этого профиля первое приложение, которое запускается при перезагрузке устройства, будет единственным приложением, которое будет работать до перезагрузки устройства.

Управляемый доступ (iOS 6 и выше). Начиная с iOS 6, мы можем достичь этого, используя два метода: "Направляющий доступ и контролируемый доступ". Эти оба метода касаются функций контроля доступности, таких как разрешение пользователю иметь ограниченный доступ к их устройству. Это может быть достигнуто только в том случае, если у нас есть полный доступ к устройству.

Мы можем настроить настройку режима киоска в приложении iOS программно в iOS 7 с помощью UIKit-метода UIAccessibilityRequestGuidedAccessSession. Согласно документации разработчика Apple, "UIAccessibilityRequestGuidedAccessSession будет асинхронно переходить из приложения в режим одиночного приложения или из него".

Как указано в документе разработчика Apple:

UIAccessibilityRequestGuidedAccessSession

Асинхронно переводит приложение в режим одиночного приложения или из него.

void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed))

Параметры

enable

Укажите ДА, чтобы включить устройство в режим одиночного приложения для этого приложения или НЕТ, чтобы выйти из режима Single App.

completionHandler

Блок, который уведомляет ваше приложение об успешном завершении операции. Этот блок принимает следующий параметр:

didSucceed

Если ДА, приложение успешно перешло в режим одного приложения или из него. Если "НЕТ", приложение или устройство не могут работать в режиме "Одно приложение" или была какая-то другая ошибка. обсуждение Вы можете использовать этот метод, чтобы заблокировать ваше приложение в режиме Single App и выпустить его из этого режима позже. Например, тестовое приложение может войти в этот режим в начале теста и выйти из него, когда пользователь завершит тест. Вход в режим Single App поддерживается только для устройств, которые контролируются с помощью Mobile Device Management (MDM), и само приложение должно быть включено для этого режима с помощью MDM. Вы должны балансировать каждый вызов, чтобы войти в режим Single App с вызовом для выхода из этого режима. Поскольку ввод или выход из режима Single App может занять некоторое время, этот метод выполняется асинхронно и уведомляет вас о результатах с помощью completionHandlerblock.

Availability
Available in iOS 7.0 and later.

См. также

UIAccessibilityIsGuidedAccessEnabled

Объявлено в

UIAccessibility.h

Ответ 4

Из того, что я понимаю, это невозможно сделать с помощью кода. На неуязвимом устройстве, а затем вам нужно создать демон, который запускается как слушатель.

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

Более подробную информацию о управляемом доступе можно найти здесь

Ответ 5

Это невозможно сделать программно. "Управляемый доступ" - единственное решение.

Обратитесь к http://voice4uaac.com/tips/guided-access-ios6/ для примера на скриншоте.