我正在编写一个 Mac (10.6 / 10.7) 应用程序,该应用程序在允许用户访问计算机之前针对 Active Directory 域对用户进行身份验证(我被告知我不能允许用户通过传统登录服务登录)。我有验证码,现在正试图让这个登录窗口全屏并且无法关闭。
Apple 的 Kiosk Mode API(此处的文档)似乎非常适合这个,我用它来全屏显示窗口,禁用停靠/菜单栏/强制退出等,其中大部分工作正常。但是,我发现当我将窗口视图设置为全屏模式时,尝试调出强制退出窗口会使应用程序崩溃(无论是桌面还是全屏并需要完全重启)。
代码示例:
NSApplicationPresentationOptions options =
NSApplicationPresentationHideMenuBar|NSApplicationPresentationHideDock|
NSApplicationPresentationDisableHideApplication|
NSApplicationPresentationDisableProcessSwitching|
NSApplicationPresentationDisableAppleMenu|
NSApplicationPresentationDisableForceQuit;
[NSApp setPresentationOptions:options];
[[_window contentView] enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];
我唯一能想到的是切换到全屏时 NSApplication 选项并没有完全保留;不过,除了禁用强制退出之外的所有选项似乎都可以继续使用。任何建议表示赞赏!