我正在尝试在基于Xcode标签栏模板的应用程序的一个选项卡中显示OpenGL ES内容。但是,当我从OpenGL ES模板应用程序复制并粘贴代码时,程序崩溃并出现错误:
编程接收信号SIGBART [(EAGLView *)self.view setContext:context];
此外,在输出窗口中,有两条消息:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [UIView setContext:]
在抛出'NSException'实例后终止调用
以下是我认为的相关代码:
- (void)awakeFromNib
{
EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (!aContext) {
aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
}
if (!aContext)
NSLog(@"Failed to create ES context");
else if (![EAGLContext setCurrentContext:aContext])
NSLog(@"Failed to set ES context current");
self.context = aContext;
[aContext release];
[(EAGLView *)self.view setContext:context];
[(EAGLView *)self.view setFramebuffer];
if ([context API] == kEAGLRenderingAPIOpenGLES2)
[self loadShaders];
animating = FALSE;
animationFrameInterval = 1;
self.displayLink = nil;
}
如何摆脱这个错误?