Камера не работает на iPhone, работает на другом - PullRequest
3 голосов
/ 27 марта 2012

Я сделал приложение для iPhone с основной функцией в виде камеры.Он обрабатывает изображения с камеры через OpenGL, поэтому я могу изменять кадры.Когда я тестирую свое приложение, оно работает нормально (у меня есть iPhone 4s Ios 5.1 в Нидерландах), но когда я загружаю его в магазин приложений для проверки, оно отклоняется.Они говорят, что камера не работает, и что у них просто черный экран.Я действительно не знаю, что делать, потому что у меня это хорошо работает.Я не могу воспроизвести ошибку.

Есть ли кто-то, кто имел такую ​​же проблему, как я?Или кто-то, кто знает, что делать?

Ответы [ 2 ]

3 голосов
/ 27 марта 2012

Вы не говорите, используете ли вы OpenGL ES 2.0 для этого, но если вы это сделаете, возможно, они протестировали ваше приложение на iPhone 3G, в котором отсутствует поддержка 2.0. Вы можете отфильтровать эти неподдерживаемые устройства, добавив ключ opengles-2 к вашему UIRequiredDeviceCapabilities в вашем Info.plist.

Вторая возможность заключается в том, что вы пытаетесь отобразить изображение с вашей камеры, которое превышает максимальный размер текстуры OpenGL ES устройства тестера. Вы можете проверить этот размер , но на устройствах старше iPad 2 этот максимальный размер текстуры составляет 2048x2048. На iPad 2, новом Retina iPad и iPhone 4S размер этой текстуры составляет 4096x4096. IPhone 4 может захватывать изображения шириной более 2048 пикселей, что может объяснить, почему изображение с вашей камеры работает на вашем iPhone 4S, но показывает черное изображение на устаревшем оборудовании.

Существует также удаленная возможность того, что вы используете расширение OpenGL ES, которого нет на старом оборудовании, но я не думаю, что какое-либо из недавних дополнений в чипах A5 было бы полезно для обработки изображений. Я думаю, что новое оборудование также поддерживает большее количество текстурных блоков, атрибутов и вариаций, но мне нужно проверить это.

Именно поэтому я всегда стараюсь тестировать на самом старом оборудовании, которое обладает минимальными возможностями, необходимыми для моих приложений, потому что существуют тонкие различия в способах обработки графическими процессорами различных устройств.

0 голосов
/ 17 апреля 2013

Я не включил фреймворк, на iphone 4s в этом не было необходимости, это было на iphone 4 ...

...