Я пытаюсь отобразить содержимое OpenGL ES на одной вкладке приложения на основе шаблона панели вкладок Xcode.Однако, когда я копирую и вставляю код из шаблонного приложения 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;
}
Как я могуизбавиться от этой ошибки?