2015-09-01 4 views
0

Я хочу запрограммировать «режим без отвлечения» для моего приложения Mac. Возможно ли войти в полноэкранный режим и запретить пользователю переключиться на любое другое приложение, фактически заблокировав его в программе (например, за определенное количество времени)?Mac: заблокировать пользователя в приложении

+0

не говорящий по опыту ... но от логики это звучит так, как будто это было бы крайне нахмурило яблоко. откроет так много вредоносных применений. – Dustin

+0

Похоже, вы хотите использовать «Режим киоска»: http://stackoverflow.com/questions/11434497/mac-kiosk-mode-api-prevent-users-from-quitting?rq=1 – Thilo

ответ

1

Вы можете реализовать kiosk mode. Короче говоря, вы можете установить NSApplication.sharedApplication().presentationOptions. Вы можете смешивать и сопоставлять варианты (в некоторых правилах), но один очевидный набор будет смешивать .HideDock, .HideMenuBar и .DisableProcessSwitching.

Вы можете вручную по размеру и позиционировать окно своего приложения, чтобы покрыть весь экран, или вы можете позвонить enterFullScreenMode(_:withOptions:), чтобы просмотреть его в полноэкранном режиме. Для последнего вы можете комбинировать настройку параметров презентации с входом в полноэкранный режим, как описано в техническом примечании режима киоска.

+0

Не помешает ли это использовать Alt-Tab переключается на другие приложения? – pistacchio

+1

Да, это одна из вещей, которые делает '.DisableProcessSwitching'. Прочтите документы и убедитесь, что вы используете все возможные варианты. –