不激活全屏模式的自助服务终端样式 - OS X

Kiosk style without activating full-screen mode - OS X

我正在尝试隐藏屏幕顶部的停靠栏和 menu/spotlight 栏,基本上进入我的 Cocoa OS X 应用程序的信息亭模式。但是,我不想激活全屏模式。我希望应用程序像往常一样 运行,但只是隐藏桌面上的停靠栏和 menu/spotlight 区域以阻止用户使用它们。我尝试了多种选择,但似乎无法正常工作。

https://developer.apple.com/library/mac/technotes/KioskMode/Introduction/Introduction.html

似乎此代码的大多数实现都需要进入全屏或 Objective C。有没有办法在 Swift 中执行此操作而无需进入全屏模式?

我知道怎么做了!我可以使用 NSMenu 隐藏菜单,但我必须通过访问终端来隐藏停靠栏。可能有一种更简单、更清洁的方法,但我找不到。我希望这可以帮助其他人寻找解决方案。

  import Cocoa

   @NSApplicationMain
   class AppDelegate: NSObject, NSApplicationDelegate {

  var datastring = NSString()


  func applicationDidFinishLaunching(aNotification: NSNotification) {

  let task = NSTask()
  let pipe = NSPipe()
  task.standardOutput = pipe

  task.launchPath = "/bin/bash/"
  task.arguments = ["defaults write com.apple.dock tilesize -int 1", 
   "killall -Kill Dock"]

 let file:NSFileHandle = pipe.fileHandleForReading

  task.launch()
  task.waitUntilExit()

  let data =  file.readDataToEndOfFile()
  datastring = NSString(data: data, encoding: NSUTF8StringEncoding)!

  }

   func applicationWillTerminate(aNotification: NSNotification) {
  }

 override func awakeFromNib() {

 NSMenu.setMenuBarVisible(false)

 }
  }
 }

以下是您要查找的内容吗?

Swift 3:

func applicationWillFinishLaunching(_ notification: Notification) {
    NSApp.presentationOptions = [.autoHideDock, .autoHideMenuBar]
}

Swift 2:

func applicationWillFinishLaunching(notification: NSNotification) {
    NSApp.presentationOptions = [.AutoHideDock, .AutoHideMenuBar]

}

(注释掉代码中的所有其他内容,或者至少注释掉此处包含的代码)。