0

解释这种情况:当我通过 XCode(可以说是调试模式)安装它时,我的 OpenGL 视图控制器工作正常,但通过 In House Distribution 安装时崩溃(为此使用了 HockeyApp)。

通过 XCode 一切正常,没有任何错误,但在第 61 行中断: https ://gist.github.com/jonasbark/561e7e66671b041f0107

uniforms[UNIFORM_MVP_MATRIX] = glGetUniformLocation(program, "mvp_matrix");

我真的不知道为什么。我什至尝试将着色器文件硬编码为 NSString 但没有运气。对我来说,为什么它不能使用 In House Distribution 是没有意义的......

这是异常原因:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000

uniforms 字段变量是这样引入的:

enum {
    UNIFORM_MVP_MATRIX,
    UNIFORM_TEXTURE,
    NUM_UNIFORMS
};
GLint uniforms[NUM_UNIFORMS];

以防万一有人想查看源代码:它基于http://www.endodigital.com/opengl-es-2-0-on-the-iphone/ --> EDCubeDemo_AppendixA.zip

4

1 回答 1

0

Okay... finally solved this. Replaced GLint uniforms[NUM_UNIFORMS]; with GLint uniforms[2]; and it worked. No idea why it would fail on Release versions, must be some kind of compiler optimizations...

于 2013-07-08T12:35:15.483 回答