オンラインで調査を行ったところgpus_ReturnNotPermittedKillClient
、アプリがバックグラウンドで動作しているときに OpenGL アクションがトリガーされると、 がスローされることに気付きました。現在、マップ ビューとオーバーレイを含むプロジェクトに取り組んでいます (Apple のBreadcrumb サンプル コードを使用)。これらのアクションはメイン スレッドで実行されますが、マップ ビューが初期化されるか、ビューが画面にプッシュされると、アプリがバックグラウンドになる可能性があります。
また、位置情報サービスを使用して GPS を介してポイントを取得しますが、フォアグラウンドにいる場合を除き、オーバーレイを更新しません。
iOS 6 以降、MKMapView が OpenGL で作成されるようになったのは私の理解ですか? この場合、オーバーレイの描画も OpenGL を介して行うことができますか? これは、このエラーがランダムに発生する理由を説明するのに役立ちます。
invokeやusingなど、すべての OpenGL アクションをキャンセルする方法について聞いたことがありglFinish()
ます。これを考慮すると、MKMapView/MKOverlayView を使用して OpenGL の描画を排除する最善の解決策は何でしょうか?applicationDidEnterBackground
applicationWillResignActive
[[CCDirector sharedDirector] pause]