我是 Swift 和 Mac 开发的新手,我正在尝试制作一个可以打开 Metal 窗口的框架(仅限 macOS)。我在 macOS 版本 10.15.2 上使用 Xcode 版本 11.3.1。
我从我在网络上找到的示例开始(要启动的 macOS/命令行工具项目),但我不知道如何更正此错误:
[CAMetalLayer nextDrawable] 由于分配失败而返回 nil。
当使用故事板(macOS/App 项目)创建项目时,窗口会以预期的内容(填充为红色)打开,但是当我尝试用代码(macOS/命令行工具项目)替换故事板时,执行循环出现错误上文提到的 。
主文件
import AppKit
class AppDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow!
var viewController: ViewController!
func applicationDidFinishLaunching(_ notification: Notification) {
NSLog("Start app")
viewController = ViewController()
window = NSWindow(contentRect: NSMakeRect(0, 0, 1024, 768),
styleMask: .borderless,
backing: .buffered,
defer: false)
window.contentViewController = viewController
window.title = "Hey, new Window!"
window.backgroundColor = NSColor.blue
window.orderFrontRegardless()
}
func applicationWillTerminate(_ notification: Notification) {
NSLog("Terminate …Run Code Online (Sandbox Code Playgroud)