我在 Xcode 8.0 beta 4 中创建了一个新的 macOS 项目,并在充实它之前尝试运行准系统应用程序。在 Xcode 8 中,应用程序的窗口永远不会打开;但是当我使用 Xcode 7.3.1 时它确实如此。其他更充实的应用程序在 Xcode 8 中显示良好。出了什么问题?
我从 MainMenu.xib 中删除了窗口对象,但是当我创建 MainWindowController.swift 时,我在 MainWindowController.xib 中自动创建了另一个窗口。这是我的代码(删除了注释),看起来很标准:
AppDelegate.swift:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
var mainWindowController: MainWindowController?
func applicationDidFinishLaunching(aNotification: NSNotification) {
let mainWindowController = MainWindowController()
mainWindowController.showWindow(self)
self.mainWindowController = mainWindowController
}
}
MainWindowController.swift:
import Cocoa
class MainWindowController: NSWindowController {
override var windowNibName: String {
return "MainWindowController"
}
override func windowDidLoad() {
super.windowDidLoad()
}
}
这里的所有都是它的。在 Xcode 7.3.1 中打开一个空窗口;它是 Xcode 8.0 beta 4 应用程序启动但窗口永远不会打开。了解 Xcode 8 (beta) 中的关键区别是在一个稍微充实的可以显示的应用程序和一个不显示的应用程序之间是有帮助的。