これは、新しい Swift プロジェクトでは機能しません。私EXC_BAD_ACCESS code=1 error
に AppDelegate を与えます。
UIViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
view.layoutIfNeeded()
Test(view: view)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Test.swift
import UIKit
import GLKit
import OpenGLES
final class Test: NSObject {
init(view: UIView) {
super.init()
let context = EAGLContext(API: EAGLRenderingAPI.OpenGLES2)
EAGLContext.setCurrentContext(context)
let glView = GLKView(frame: view.bounds)
glView.context = context
glView.delegate = self
view.addSubview(glView)
}
}
extension Test: GLKViewDelegate {
func glkView(view: GLKView, drawInRect rect: CGRect) {
glClearColor(1.0, 0.0, 0.0, 1.0)
glClear(GLbitfield(GL_COLOR_BUFFER_BIT))
}
}
すべてのコードを の中に入れるとViewController
うまくいきます。
これと同様の設定を持つより大きなアプリケーションを構築しています。しかし、たくさん得ていEXC_BREAKPOINT code=1 errors
ます。このエラーは、シミュレーターで実行した場合とは異なります。