【bug反馈】接入sdkbox->admob,退到后台再切回前台,画面卡死或黑屏!

  • Creator 版本:2.1.2

  • 目标平台: iOS 13.1.3

  • 详细报错信息,包含调用堆栈:Failed to make complete framebuffer object 0x0

  • 重现方式:接入sdkbox->admob,不管是否显示banner广告,退到后台再切回前台,有时游戏都会停止渲染,画面卡死或黑屏,有广告则仅显示广告!甚至保持在前台一段时间后,也会有偶发的突然黑屏!

  • 出现概率:30-50%

麻烦大神尽快帮忙看看!感激不尽!!

bug-demo.zip (761.5 KB)

兄弟,你的问题解决了吗?我是creator 2.0.9 版本现在接类似的sdk,也出现这样的问题。
sdk提供商说是opengl冲突的问题。给了cocos2dx-lua的参考,但是那些接口都没了。现在不知道怎么解决,求帮助!! 可以加个QQ:39553073

网上找的,试一下。

报错内容为:

[3390:1456879] failed to call context
cocos2d: surface size: 0x0
[3390:1456879] Failed to make complete framebuffer object 0x8CD6
OpenGL error 0x0506 in -[CCEAGLView swapBuffers]

framebuffer 出问题了,所以无法渲染.

解决方法是 在 window的 RootViewController 之前加一层UINavigationController.

假设真正的放置EAGLView的是UIViewController变量名为 viewController

UINavigationController * nc = [[UINavigationController alloc] initWithRootViewController:viewController];
nc.navigationBar.hidden = true; (将导航条隐藏掉)
[window setRootViewController:nc];

好像是ios7之后才有这个问题的. 之前的cocos引擎确实用不到UINavigationController的功能,所以没加进去也不怪责引擎.

1赞

我按这种方式做了,会到游戏没有黑屏了!一切都卡在那个画面不动了

谢谢您的回复。试了这个方法还是不行,继续等回复!

我试了也不行,继续等回复!

你的业务没开展吗? 我这个领导每天都催我,好着急!!!

不行就只好放弃sdkbox,试试直接接admob的sdk了,而且还不知道是否能解决。

周一会检查的

什么样的参考,可以发给我看看不。

其他版本的 creator 和 ios 会有问题吗

我用 6s ios 13.1.2, creator 2.1.1

其他版本不太清楚呀

我昨天下载2.2看了,也存在这个问题

他的参考就是暂停游戏的渲染进去他们的,退出再继续游戏渲染。我一会把代码贴给你。

貌似ios7以上都存在这个问题

这个问题解决了吗?我看接入很多sdk都存在这个问题,我也出现了类似的问题。
https://forum.cocos.com/t/1-9-xcode-ios13/84064/21

没有解决,等官方给答复

//进入后台
void cocosGameApplicationDidEnterBackground(){
printf(“void cocosGameApplicationDid EnterBackground()”);

Director::getInstance()->stopAnimation();
Director::getInstance()->pause();

SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
SimpleAudioEngine::getInstance()->pauseAllEffects();

Director::getInstance()->getEventDispatcher()->dispatchCustomEvent(“APP_ENTER_BACKGROUND_EVENT”);
}

//调回前台
void cocosGameApplicationWillEnterForeground(){

printf(“void cocosGameApplicationWillEnterForeground EnterForeground()”);
Director::getInstance()->startAnimation();
Director::getInstance()->resume();

SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
SimpleAudioEngine::getInstance()->resumeAllEffects();

Director::getInstance()->getEventDispatcher()->dispatchCustomEvent(“APP_ENTER_FOREGROUND_EVENT”);
}

我们线上项目在播放试玩激励广告会出现这种问题, 关闭广告游戏画面卡死或者黑屏,但是逻辑还在,只是渲染停了,2.1.3 2.2 都一样的。

我们是点开就试玩的广告有问题,100%必现的, 纯视频和视频播完再试玩的这类广告没问题。admob 更新了最新版本的也没用。