【发布时间】:2016-10-12 20:51:40
【问题描述】:
我正在尝试在 macOS Sierra 上的 Xcode 8(稳定版)中创建一个没有情节提要的 macOS 应用程序。但是,我的AppDelegate 甚至没有被启动。这是我的代码:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow!
override init() {
super.init()
print("Init")
}
func applicationDidFinishLaunching(_ aNotification: Notification) {
print("Finished launching")
// Create a window
window = NSWindow()
// Add the view controller
let viewController = ViewController()
window.contentView?.addSubview(viewController.view)
// Show the window
window.makeKeyAndOrderFront(nil)
}
}
init 或 applicationDidFinishLaunching(_ aNotification: Notification) 都没有被调用。任何帮助将不胜感激。
【问题讨论】:
-
代码对我来说看起来非常好...没有理由不应该进入 init 或 applicationDidFinishLaunching...
-
创建新项目时为什么不取消选择使用情节提要?
-
@LeoDabus 因为它仍然给了我一个 XIB 文件。奇怪的是,如果我将 XIB/Storyboard 文件删除为“主界面”但将其保留在项目中,AppDelegate 仍会被调用。但是,一旦我删除它,它就不会被调用。
-
另一件事是很明显编译器正在找到该标志,因为当我删除该标志时,它说它找不到隐式入口/起点(这是有道理的)。