>

응용 프로그램 iOS에 대해 약간의 문제가 있습니다. iOS 시뮬레이터 5.1 ipad/iphone을 사용하는 경우 응용 프로그램이 작동하지만 실제 iOS 장치를 사용하는 경우 (iPad 및 iPhone 5.1도)

홈 버튼을 클릭 한 후 백그라운드로 이동할 때 응용 프로그램이 충돌합니다 ... 이 오류와 함께 :

libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:
0x33240094:  trap   
0x33240096:  nop

여전히 응용 프로그램이 계산되어 충돌을 일으키는 것이 OpenGL ES라는 것을 알았습니다. glFinish ();

그러나 여전히 내 코드 샘플은 작동하지 않습니다.

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

문제가 여기 있다고 생각합니다 내 문제에 대한 아이디어가있는 사람이 있습니까? 감사합니다

수정 :

문제 해결 :

- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[CCDirector sharedDirector] stopAnimation];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[CCDirector sharedDirector] startAnimation];
}

아마도 누군가에게 도움이 될 것입니다 x)


  • 답변 # 1

    iOS 5.1에서는 사임 요청을받은 후에 OpenGL을 호출 할 수 없습니다.

    - (void)applicationWillResignActive:(UIApplication *)application
    
    

    CADisplayLink이든 [[CCDirector sharedDirector] stopAnimation]이든 관계없이 모든 것을 중지 할 수있는 곳입니다

  • 답변 # 2

    기술적으로 OpenGL을 호출 할 수있는 마지막 방법은 다음과 같습니다.

    - (void)applicationDidEnterBackground:(UIApplication *)application
    
    

    applicationWillResignActive 이후에 드로잉을 일시 중단하는 것이 좋은 생각이지만, 이는 권장 사항 일 뿐이며 일부 앱에는이 이상의 요구 사항이 있습니다. 실제로강화는 앱이 백그라운드로 이동하면 OpenGL 호출을 할 수 없다는 것입니다.

    문서에서 :

    와이즈 비즈

    또한 최종 GL 호출로 glFinish ()를 포함시켜야합니다.

  • 답변 # 3

    화면에 FPS 노드가 있는지 확인하십시오.

    * 편집-오디오 재생 확인

    Once your application exits its applicationDidEnterBackground: method, it must not make any new OpenGL ES calls. If your application makes an OpenGL ES call, it is terminated by iOS.

  • 이전 windows - make - *** 대상을 'all'로 만드는 규칙이 없습니다 중지 이클립스 오류
  • 다음 Visual Studio 2010의 설치 프로젝트에는 NET 40이 필요합니다