ios10 & iphone6s 崩溃,指针指向layerColor

###当同时满足以下2个条件

  1. Ios10。
  2. Iphone6s以及以后的机型。

###2个条件缺一不可。

###在游戏中,很容易崩溃,崩溃处指针指向layerColor的ondraw函数的glDrawArray这一行。

###目前已经遇到有3个人和我有相同的问题。




###我的引擎版本3.5,另外2个小伙伴是3.1和3.5

void PolygonBatch::flush ()
这个接口里的
修改成这样
//这几句注释掉
// GL::bindVAO(0);
// glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_POSITION);
// glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_COLOR);
// glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_TEX_COORDS);
//加上这句
GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_COLOR | GL::VERTEX_ATTRIB_FLAG_TEX_COORD);

试试这样

应该是和这个相同的问题:https://github.com/cocos2d/cocos2d-x/issues/16582

我已经解决了,根本原因是因为,我用了spine

但是那个版本的spine在渲染那个地方有个问题:
渲染的地方有2种GL函数,一种是GL本身的,一种是引擎封装过的,引擎里面都用的封装过的版本,但是唯独spine那个地方,用的是GL本身的版本,导致GL的一个状态没有清理正确,用封装过的版本就好了。

后面的引擎版本,好像重写了这一部分渲染,不确定还有不有这个问题