Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Mac Kiosk模式API-强制退出崩溃应用程序_Objective C_Macos_Keyboard Shortcuts_Fullscreen_Kiosk Mode - Fatal编程技术网

Objective c Mac Kiosk模式API-强制退出崩溃应用程序

Objective c Mac Kiosk模式API-强制退出崩溃应用程序,objective-c,macos,keyboard-shortcuts,fullscreen,kiosk-mode,Objective C,Macos,Keyboard Shortcuts,Fullscreen,Kiosk Mode,我正在编写一个Mac(10.6/10.7)应用程序,该应用程序在允许用户访问计算机之前根据Active Directory域对用户进行身份验证(我被告知我不能允许用户通过传统的登录服务登录)。我有身份验证码,现在正试图使这个登录窗口全屏显示,无法关闭 苹果的Kiosk模式API(这里的文档)似乎非常适合这个应用,我用它来实现窗口全屏,禁用dock/菜单栏/强制退出等,大多数都可以正常工作。但是,我发现,当我将窗口的视图设置为全屏模式时,试图打开强制退出窗口会使应用程序崩溃(或者是在桌面上,或者在

我正在编写一个Mac(10.6/10.7)应用程序,该应用程序在允许用户访问计算机之前根据Active Directory域对用户进行身份验证(我被告知我不能允许用户通过传统的登录服务登录)。我有身份验证码,现在正试图使这个登录窗口全屏显示,无法关闭

苹果的Kiosk模式API(这里的文档)似乎非常适合这个应用,我用它来实现窗口全屏,禁用dock/菜单栏/强制退出等,大多数都可以正常工作。但是,我发现,当我将窗口的视图设置为全屏模式时,试图打开强制退出窗口会使应用程序崩溃(或者是在桌面上,或者在全屏状态下需要完全重新启动)

代码示例:

NSApplicationPresentationOptions options = 
NSApplicationPresentationHideMenuBar|NSApplicationPresentationHideDock|
NSApplicationPresentationDisableHideApplication|
NSApplicationPresentationDisableProcessSwitching|
NSApplicationPresentationDisableAppleMenu|
NSApplicationPresentationDisableForceQuit;

[NSApp setPresentationOptions:options];
[[_window contentView] enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];

我唯一能想到的是,当切换到全屏时,非应用程序选项并没有完全保留;但是,除了禁用强制退出之外,所有的选择似乎都会延续下去。任何建议,谢谢

这实际上是Mac电脑上全屏应用的正常行为。当您在全屏应用程序中使用Cmd+Opt+Esc时,它将立即终止捕获屏幕的进程,而不是显示标准的终止UI。

我认为这是有道理的,但据我所知,Kiosk模式API是专门为防止用户终止应用程序而设计的。它是,但我相信你必须有特殊权限才能参加。否则,任何应用程序都可能阻止用户输入信用卡号码或其他信息。试着以
root
的身份运行应用程序,然后它能工作吗?不,不能工作。我想我将不再使用NSView的EnterFullScreen模式,而是使用屏蔽屏幕,同时使用NSApp选项禁用强制退出。不过谢谢你。