现在的位置: 首页 > 综合 > 正文

关于真机调试时按home键crash的问题

2018年09月07日 ⁄ 综合 ⁄ 共 691字 ⁄ 字号 评论关闭

好像有很多朋友都碰到过这个问题,即在真机调试时,按hone键返回桌面,再回到app时,app会crash或僵死。同时xcode停留在:
libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:
0x372fa094: trap
0x372fa096: nop


原因在于AppDelegate.cpp里

void AppDelegate::applicationDidEnterBackground()

{

    CCDirector::sharedDirector()->pause();
}
void AppDelegate::applicationWillEnterForeground()

{

    CCDirector::sharedDirector()->resume();
}
director在app切换至后台时若被pause,它其实并没有真正暂停,而是仍保持着每秒4帧的绘制速率。但在app处于后台时,ios是不允许app调opengl的。这个原因引发了上述问题。
解决方法是:

void AppDelegate::applicationDidEnterBackground(){    CCDirector::sharedDirector()->stopAnimation();}
void AppDelegate::applicationWillEnterForeground(){    CCDirector::sharedDirector()->startAnimation();}
stopAnimation()才让director真正暂停下来。

抱歉!评论已关闭.