Metal iOS给出了编译错误

Poc*_*id2 17 ios swift metal

import UIKit
import Metal
import QuartzCore

class ViewController: UIViewController {

var device: MTLDevice! = nil
var metalLayer: CAMetalLayer! = nil

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    device = MTLCreateSystemDefaultDevice()
    metalLayer = CAMetalLayer()          // 1
    metalLayer.device = device           // 2
    metalLayer.pixelFormat = .BGRA8Unorm // 3
    metalLayer.framebufferOnly = true    // 4
    metalLayer.frame = view.layer.frame  // 5
    view.layer.addSublayer(metalLayer)   // 6
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


}
Run Code Online (Sandbox Code Playgroud)

当我在我的ViewController.swift中有这个时,CAMetalLayer即使我导入了Metal和QuartzCore,我也会收到错误"Use of undeclared type ".如何才能使此代码生效?

Rhy*_*man 57

金属代码无法在模拟器上编译.尝试编译设备.

  • 这个响应没有回答这个问题,因为毫无疑问,它是解决所述问题的方法:模拟器无法编译金属代码.如果选择"设备",编译错误就会消失. (3认同)
  • 尝试在Xcode中选择设备而不是模拟器 (2认同)