Значок приложения iOS 4 не отображается

У меня уже есть одобренное в App Store приложение, которое правильно отображает значок в iOS 5, но не делает этого в iOS 4 (по крайней мере, в 4.2.1). Вместо этого появляется значение по умолчанию. Я считаю, что значки правильно установлены в Info.plist (файлы значков и файлы значков (iOS 5)). Я совершенно не понимаю, что это может быть.

Мои значки называются иначе, чем «Icon.png» и тому подобное, но я полагаю, что Apple говорит, что это имя файла требуется только в iOS ‹ 3.2.

Если ваше приложение для iPhone работает в iOS 3.1.3 или более ранней версии, система не ищет значки с помощью файла Info.plist. Ключ CFBundleIcons появился в iOS 5.0, а ключ CFBundleIconFiles — в iOS 3.2.

https://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW1)

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

Кто-нибудь знает, что может происходить?

Редактировать:

Я попытался изменить имя на другое (заменил @ и ~ на _ из предыдущей схемы именования, которая у меня была — по умолчанию для изображений в iOS), и это работает как на iOS 4, так и на 5. Не знаю, почему. И я не уверен, что это было проблемой (разве iOS 4 не распознает файлы для значков с этими символами?) Или я просто напортачил с какой-то настройкой, но это работает.


person dvieira    schedule 21.05.2012    source источник


Ответы (5)



Дополнительный совет: если и только если у вас есть проблемы с отсутствием отображения значка, удалите приложение из симулятора, а затем снова разверните его в симуляторе.

person H.Rabiee    schedule 10.04.2013

Не уверен, что происходит, но чтобы ответить на утверждение, что «даже если бы я хотел, я не мог бы использовать эту схему, потому что у меня есть разные цели с разными значками»

Вы можете сделать это, поместив свои значки в отдельные папки. Например, макет папки вашего проекта (на диске, а не в проекте Xcode) может выглядеть следующим образом:

  • MyProject/
    • MyProject.xcodeproj/
    • MyFirstApp/
      • Icon.png
      • Иконка@2x.png
    • MySecondApp/
      • Icon.png
      • Иконка@2x.png

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

Если вы не знали об этом, возможно, вы добавляли все файлы значков ко всем своим целям, и в этом случае вы излишне увеличиваете размер приложения.

person benzado    schedule 21.05.2012
comment
Я этого не знал. Я думал, что файл должен быть в корневом каталоге проекта, извините. Спасибо за объяснение. Но они не во всех мишенях, я проверял. - person dvieira; 21.05.2012

В вашем плисте есть ОБА значка? Начиная с iOS 5 появился новый вызов для значков приложений. Мне интересно, установлено ли у вас только это поле, но не устаревшее поле?

Старое (исходное) поле в plist — «Файлы значков» и представляет собой массив.

Новое (iOS 5) поле в plist называется «Файлы значков (iOS 5)» и представляет собой Словарь». Первым значением под ним является «Основной значок», также Словарь, а затем Файлы значков Массив.

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

person MobileVet    schedule 22.05.2012

Взгляните на info.plist

У меня было 13 записей в разделе ícon, включая default.png и icon.png (и default был выше, чем icon).

Вот почему он показывал неправильный.

person Rosik    schedule 25.11.2012