私たちのアプリは glreadpixels を使用して、すべてのフレームで画面をキャプチャします。iOS 5 デバイスでは、テキスト メッセージ (またはその他の通知だと思います) を受信すると、glreadpixels
通話中にアプリがクラッシュします。
クラッシュは、新しいスタイルの通知 (上から下にスライドしてすぐに消える通知) を使用する iOS 5 でのみ発生します。iOS 4 では、古いUIAlertView
スタイルの通知が正常に機能します。
具体的には、 を呼び出すとエラーがglReadPixels()
スローされEXEC_BAD_ACCESS
ます。
具体的な呼び方は
glReadPixels(0,0,tx,ty,GL_BGRA_EXT,GL_UNSIGNED_BYTE, buffer);
どこ
int tx = 482
int ty = 320
(アプリは横向きモードのみ)
と
GLubyte *buffer = malloc(sizeof(GLubyte)* 4 * tx * ty );
また、読み取りコマンドを発行する前にフレーム バッファのステータスをチェックしようとしましglCheckFramebufferStatus(GL_FRAMEBUFFER)
たGL_FRAMEBUFFER_COMPLETE
。
これは、新しい通知ポップアップの実装方法のバグですか? どうすれば回避できますか?通知が表示されようとしていることを何らかの方法で検出し、通知がglreadpixels
消えるまで呼び出しを一時停止できれば、それも受け入れられます。
ありがとう、
ティム