移动背景,iOS 5.1上的OpenGL ES崩溃

Joh*_*ith 11 opengl-es objective-c ios

关于我的iOS应用程序,我有一点问题.当我使用iOS模拟器5.1 ipad/iphone应用程序正在工作,但当我使用真正的iOS设备(iPad和iPhone 5.1)

单击主页按钮后,应用程序在后台移动时崩溃...出现此错误:

libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:
0x33240094:  trap   
0x33240096:  nop 
Run Code Online (Sandbox Code Playgroud)

我发现OpenGL ES仍在计算并使应用程序崩溃并找到了这个函数:glFinish();

但是这仍然不适用于我的代码示例:

- (void)applicationDidBecomeActive:(UIApplication *)application {
    [[CCDirector sharedDirector] resume];
}

- (void)applicationWillResignActive:(UIApplication *)application {
    glFinish();
    [[CCDirector sharedDirector] pause];
}
Run Code Online (Sandbox Code Playgroud)

我认为问题就在这里是否有人对我的问题有所了解?谢谢

编辑:

问题解决了:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[CCDirector sharedDirector] stopAnimation];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[CCDirector sharedDirector] startAnimation];
}
Run Code Online (Sandbox Code Playgroud)

也许这可以帮助某人x)

mmo*_*opy 12

在iOS 5.1中,强制要求在您请求重新激活活动后无法调用OpenGL.

- (void)applicationWillResignActive:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)

是停止一切的地方,无论是CADisplayLink还是[[CCDirector sharedDirector] stopAnimation]