当我们的应用程序处于 运行 时,我们能否在 mac 中禁用用户与其他应用程序的交互?

Can we disable user interactions with other applications in mac while our app is running?

我正在开发一个基于 mac 的应用程序,需要有关其中一项功能的指导,我想在这里做的是

当我的应用程序启动时,我不希望用户与任何其他应用程序交互,除非用户点击应用程序的关闭按钮。不应为 mac 启用任何键盘快捷键,例如 cmd+空格键等

我的问题是这是否可行?是否有来自苹果的官方文档说由于某些技术原因不允许这样做?

macOS 从 10.6 开始支持 "kiosk mode";它允许您的应用程序:

  • 隐藏/停用停靠栏、菜单栏和 Apple 菜单
  • 禁止切换和隐藏您的应用程序
  • 防止重新启动或关闭计算机

大体上,NSApplication 公开位掩码 属性、NSApplicationPresentationOptions,让您 select 您想要使用的设置组合。

进一步阅读的最佳资源是@KenThomases 找到的存档文档 here and here