Изображения отображаются в симуляторе, но не на устройстве iPhone - PullRequest
7 голосов
/ 20 декабря 2010

Поэтому, когда я запускаю приложение с устройства, появляются фотографии, и все отлично работает. Однако, когда я перехожу на устройство, я запускаю примерно 10 из 38 снимков, которые не отображаются. Я вытягиваю имена для изображений из базы данных sqlite, и я уже проверил, и имена правильные, case и все. Я проверил пакет и изображения там правильно.

Играет ли в этом память? Я не совсем уверен, что еще может вызвать это ??

Спасибо!

Решение: Файлы каким-то образом не были сохранены должным образом и не могли быть открыты, скажем, Photoshop или даже рисовать. Таким образом, файлы не были открыты, но не появлялись ... Спасибо за помощь всем!

Ответы [ 4 ]

44 голосов
/ 20 декабря 2010

Первое, что нужно проверить, это случай строк, которые вы используете для ссылки на ресурсы.IPhone чувствителен к регистру, а симулятор - нет.

Упс, только что видел, что вы проверили дело.Лучше регистрируйте все ваши звонки по созданию UIImage, тогда!

6 голосов
/ 20 декабря 2010

Симулятор принимает более широкий спектр форматов изображений.Иногда у вас был определенный тип файла, который устройство не может отобразить.Дважды проверьте 10 файлов, чтобы найти отличия от других.

2 голосов
/ 20 декабря 2010

Да, память абсолютно играет на этом. Проверьте ваши вызовы создания UIImage и убедитесь, что они не возвращаются пустыми. Кроме того, проверьте, получаете ли вы предупреждения о памяти в окне консоли.

1 голос
/ 20 декабря 2010

Как правило, если бы размер оперативной памяти был причиной, ваше приложение зависло бы из-за ошибки памяти на устройстве. Однако, похоже, что изображения просто не отображаются.

Еще одна вещь, которая может пойти не так, это размер изображений. UIViews на iPhone может иметь только размеры, меньшие, чем максимальный размер текстуры, поддерживаемый графическим процессором. Apple утверждает, что это 1024 x 1024, но я обнаружил, что это больше похоже на 2048 x 2048 даже на оригинальной модели iPhone. Возможно, вы создаете представление для некоторых из этих изображений, которое превышает этот размер в одном измерении, но ваш Mac имеет больший максимальный размер текстуры на своем графическом процессоре, и поэтому он прекрасно отображается в имитаторе.

...