Aviary SDK在iOS上初始化时崩溃

时间:2014-07-29 05:41:14

标签: ios aviary

我在我的应用上集成了Aviary SDK以增强我的应用图片编辑功能。我读了它的文档,运行它的示例代码,它运行正常。但是当我的应用程序运行时,我遇到了一个问题。运行方法

后,它崩溃了EXC_BAD_ACCESS

[AFOpenGLManager beginOpenGLLoad];

我按照Aviary文档上的设置指南进行操作 https://developers.aviary.com/docs/ios/setup-guide#project-setup

首先,我只是创建一个Singleton管理器来管理。我叫[AFOpenGLManager beginOpenGLLoad];在init函数

- (id)init {
     if (self = [super init]) {        
         [AFOpenGLManager beginOpenGLLoad];
     }
     return self;
}

- (void) launchPhotoEditorWithImage:(UIImage *)editingResImage
            highResolutionImage:(UIImage *)highResImage
                 fromController:(UIViewController *)controller
{
       // Customize the editor's apperance. The customization options really only need to be set       
       once in this case since they are never changing, so we used dispatch once here.
       static dispatch_once_t onceToken;
       dispatch_once(&onceToken, ^{
             [self setPhotoEditorCustomizationOptions];
       });

       // Initialize the photo editor and set its delegate
       AFPhotoEditorController * photoEditor = [[[AFPhotoEditorController alloc]   
                                            initWithImage:editingResImage] autorelease];
       [photoEditor setDelegate:self];

       // If a high res image is passed, create the high res context with the image and the 
       photo editor.
       if (highResImage) {
            [self setupHighResContextForPhotoEditor:photoEditor withImage:highResImage];
       }

       // Present the photo editor.
       [controller presentViewController:photoEditor animated:YES completion:nil];
}

在运行init函数后,它崩溃了

enter image description here

我是否错过了某些事情,示例代码运行良好。

编辑1: compileShader是从createProgram调用的,但我可以读取这个方法

enter image description here

编辑2: 我意识到了一些事情。我的app项目有一个名为libmediastreamer_voip.a的库。我认为存在误解。我的意思是Aviary lib和libmediastreamer_voip.a lib也可以使用名为compileShader的函数。因此,当在Aviary lib上调用compileShader时,它在Aviary lib上的compileShader上运行,但在libmediastreamer_voip.a上运行到compileShader。 我不知道我会那样吗?我创建了一个新项目并集成了Avairy SDK,它运行良好,只是集成到我的应用程序崩溃

2 个答案:

答案 0 :(得分:1)

我是Aviary iOS团队的成员。这是由我们的compileShader函数与您之间的冲突引起的。我们的功能没有正确命名空间并导致冲突。我们将在下一版SDK中解决这个问题。

迈克尔

答案 1 :(得分:0)

我对它的看法。检查您的shader值。它应该具有来自您的资源或其他具有适当类型(GL_VERTEX_SHADERGL_FRAGMENT_SHADER)的正确着色器路径。

对我来说,你已经没事了