现有的 cocos2d-x JS项目怎么升级以支持ios13?

目前项目使用的是Cocos2dx-JS,版本是3.17.1,现在在ios13 beta2上面运行直接crash。

请问Cocos2dx-JS后续还会继续更新么?我们看到API文档上JS还停留在3.13上,而C++已经是3.17了。

还想问一下,Cocos2dx-JS如何升级以支持ios13?

报错的位置在cocos2d_libs下platform/ios/CCES2Renderer-ios.m文件
方法:- (BOOL)resizeFromLayer:(CAEAGLLayer *)layer

语句:if( ! [context_ renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer] )

错误堆栈信息:-[MTLDebugBuffer newLinearTextureWithDescriptor:offset:bytesPerRow:bytesPerImage:]:418: failed assertion `resourceOptions (0x0) must match backing buffer …

我使用Xcode 11.0版本也遇到了这个问题,有什么办法解决吗?

使用3.x版本的cocos,刚好今天测出这个问题。我个人的猜测是 多次使用 colorRenderbuffer_,但是,只有一次重置赋值。
我的解决方法是:

  • (BOOL)resizeFromLayer:(CAEAGLLayer *)layer
    {
    之后,马上重置赋值 colorRenderbuffer_

if (colorRenderbuffer_) {
glDeleteRenderbuffers(1, &colorRenderbuffer_);
colorRenderbuffer_ = 0;
}

glGenRenderbuffers(1, &colorRenderbuffer_);
NSAssert( colorRenderbuffer_, @"Can't create default render buffer 2");

glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer_);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer_);

不知道你是如何解决的