2015-10-03 2 views
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. 
} 


} 

私はViewController.swiftでこれを持っているとき、私はエラーを取得します「宣言されていないタイプCAMetalLayerの使用」をコンパイルできます私は金属とQuartzCoreを輸入したにも関わらず。どのようにしてこのコードを動作させることができますか?メタルのiOSがエラーに

答えて

39

シミュレータで金属コードがコンパイルされません。デバイス用にコンパイルを試みてください。

+0

私はまだ何もコンパイルしていません。 – Pocketkid2

+1

Xcodeでシミュレータの代わりにデバイスを選択してみてください –

+3

質問はありませんでしたので、この回答は質問に答えませんが、問題の解決策です。 Simulatorはメタルコードをコンパイルできません。デバイスを選択すると、コンパイルエラーは消えます。 –

関連する問題