2014-11-12 9 views
0

У меня есть приложение, в котором у меня есть контроллер GLKit View. Мне нужно получить снимок просмотра GL.Сбой снимка на некоторых устройствах iOS

Я использую:

glImage = [(GLKView *)self.view snapshot] ; 

где glImage является UIImage.

Он отлично работает каждый раз на моем iPhone 5s (iOS 8.1), но просто дает пустое изображение на моем iPad Mini (iOS 7.1) и моем iPhone 4s (также 7.1). Изображение точно такое же, как я ожидал, но пустое.

Эта функция существует с iOS5, поэтому она не похожа на проблему ОС.

Почему это не работает? Это проблема обработки?

Редактировать - Я обновил iPad до iOS8.1, и проблема остается так определенно не проблемой ОС.

+0

Где вы это называете? Никогда не вызывайте этот метод внутри своей функции рисования. – picciano

+0

Это не было внутри функции рисования. –

ответ

0

Это не точный ответ, но вы можете рассмотреть возможность использования this method:

В коротких словах, которое он придает CVPixelBuffer к OpenGL FrameBuffer, которая позволяет ему быть быстро считываться CPU. Я использую его для захвата видео и никогда не сталкивался с проблемами . Кроме того, это может быть более быстрым, чем моментальный снимок, поскольку для него не требуется перерисовывать вид .