Ответ 1
В iOS6 есть функция под названием "Управляемый доступ", которая позволит владельцам устройств блокировать пользователей (например, малышей и школьников) в приложении.
Это объясняет "Управляемый доступ для приложений iOS 6" .
Я хочу, чтобы после установки моего приложения из OTA кнопка "домой" устройства не будет работать вообще, чтобы пользователь не смог выйти из приложения. Мои копания привели меня к следующим результатам
A) У меня есть способ отключить домашнюю кнопку с помощью "mobileconfig" профиля, но ему необходимо перезагрузить устройство, и пользователь должен открыть мое приложение сразу после загрузки, я хочу сделать это, не перезапуская с помощью чего-то вроде Private Frameworks на устройствах, не поврежденных Jail. Я хочу знать, возможно ли это для устройств без перерыва?
C) Если отключить домашнюю кнопку с помощью Private Framework нельзя отключить, то можно ли открыть приложение сразу после загрузки устройства?, так как при запуске загружаются определенные приложения/процессы для джейлбрейка.
[ПРИМЕЧАНИЕ. Я не хочу отправлять свое приложение в iTunes.]
В iOS6 есть функция под названием "Управляемый доступ", которая позволит владельцам устройств блокировать пользователей (например, малышей и школьников) в приложении.
Это объясняет "Управляемый доступ для приложений iOS 6" .
Официальным ответом на этот вопрос является "вы не можете отключить домашнюю кнопку в устройствах ios, это архитектура уровня os, и вы не авторизованы для нее".
Вам нужно копаться в потоке операционной системы, чтобы внести любые изменения, которые могут быть жесткими.
Хорошо, если вы измените свое мнение, хотя это одно открытое и простое решение для этого в ios 6, известном как Guided Access.
Если вы можете сделать джейлбрейк, создайте LaunchDaemon или используйте существующий. LaunchDaemon - это файл в формате plist, который вызывается при перезагрузке и запуске вашего устройства. Вам также понадобится файл с именем open
, созданный K3A
Загрузите open
из здесь
Вам нужно будет переместить open
в/usr/bin/или вы можете поместить его в свое приложение, не имеет значения, но установите разрешения для 0755 and root:wheel
Теперь на LaunchDaemons они хранятся здесь
/System/Library/LaunchDaemons
Вот пример. Допустим, вы назвали LaunchDaemon
com.gauravstomar.test.plist
Где он говорит com.bundle.identifier
поместите свой идентификатор приложений, вы также можете найти его в своем Info.plist
внутри вашего каталога приложений, где он говорит CFBundleIdentifier
Теперь внутри plist вставьте следующую информацию
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.gauravstomar.test</string>
<key>ProgramArguments</key>
<array>
<string>open</string>
<string>com.bundle.identifier</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>1</integer>
</dict>
</plist>
Ярлык должен иметь то же имя, что и LaunchDaemon.plist, исключая расширение plist
ProgramArguments - это то, что вызывает открытие файла и запускает приложение
RunAtLoad запускает этот plist при перезагрузке
StartInterval заставит LaunchDaemon.plist открыть резервную копию через 1 секунду, если пользователь выйдет из приложения, если пользователь все еще в приложении ничего не произойдет
Убедитесь, что разрешения для вашего LaunchDaemon установлены на
0644 root:wheel
Вы все равно можете использовать свой мобильныйконфикт, чтобы кнопка дома была отключена. После завершения оценки вы можете отключить LaunchDaemon, чтобы приложение перестало перезапускаться со следующей командой
launchctl unload/System/Library/LaunchDaemon/com.gauravstomar.plist
Сообщите мне, если вам нужна дополнительная помощь.
Без jailbreaking приложение изолировано. Приложение просто не имеет доступа к беспорядку с кнопкой "домой". И вы действительно не должны путаться с домашней кнопкой.
В дополнение к "Управляемому доступу" вы также можете использовать "Ограничения", которые позволят вам отключить все, открыв ваше приложение. Вы можете отключить определенные приложения Apple, включая Safari, и запретить пользователям устанавливать приложения, удалять приложения, делать покупки и т.д.
У нас есть несколько iPod touch с приложением для проверки билетов, которое мы сдаем в аренду нашим клиентам. Мы используем "Ограничения", чтобы отключить все, кроме нашего приложения. Самое полезное ограничение пока не позволяет людям удалять приложения - невероятно, сколько людей случайно удалит приложение даже после предупреждения.