10
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.
}
}
Kiedy mam to w moim ViewController.swift, otrzymuję błąd „Zastosowanie nierejestrowanej typu CAMetalLayer
” choć mam importowane Metal i QuartzCore. Jak mogę uruchomić ten kod?Metal iOS daje błąd kompilacji
Jeszcze się nie skompilowałem. To pojawia się zaraz po wpisaniu tego materiału i po prostu poczekaj – Pocketkid2
Spróbuj wybrać urządzenie zamiast symulatora w Xcode –
Ta odpowiedź nie odpowiada na pytanie, ponieważ nie było pytania, jednak jest to rozwiązanie określonego problemu: Symulator nie może skompilować kodu metalowego. Jeśli wybierzesz urządzenie, błędy kompilacji znikną. –