Подтвердить что ты не робот

Отсутствует AppIcon в организаторе

Недавно я перенес свое приложение для поддержки iOS7, и во время этого процесса обновил мои иконки приложений для использования Каталога активов; который отлично работает в приложении. Однако в Organizer и TestFlight отсутствует значок моего приложения.

Missing AppIcon in Organizer

То же самое происходит и в TestFlight, что означает, что в моем пакете чего-то не хватает. Любая помощь будет с благодарностью принята.

4b9b3361

Ответ 1

Кажется, вам все равно нужно иметь запись Icon files в панели приложения, которая указывает на значок, который является ресурсом в приложении; хотя Xcode удалил это, когда я преобразовал в каталог; вот запись, которую я создал вручную, в то же время сохраняя каталог активов:

plist entry

Обратите внимание, что я тестировал это с разными значками, и этот параметр не влияет на значки, которые приложение фактически использует во время выполнения; эта запись, по-видимому, используется только Organizer и TestFlight, тем самым решая мою проблему.

Ответ 2

Да, используя Каталог активов, вам может понадобиться сделать следующее, чтобы связать приложение и работать с Ad-Hoc-дистрибутивами/ production, который будет отображаться в Организаторе, тестовом полете и, возможно, в неизвестных местах AppStore.


После создания каталога активов обратите внимание на имена имен изображений запуска и приложений, перечисленных в .xassets в Xcode.

По умолчанию это должно быть

  • AppIcon
  • LaunchImage

[Чтобы увидеть этот клик по вашей папке .xassets/icon в Xcode.] (это можно изменить, поэтому просто обратите внимание на эту переменную позже)


Теперь создается каждая сборка следующих структур данных в вашем .app:

Иконки приложений:

iPhone

  • AppIcon57x57.png (iPhone не сетчатка) [Обратите внимание на префикс имени значка]
  • [email protected] (iPhone сетчатки)

И тот же формат для каждого из других разрешений значков.

IPAD

  • AppIcon72x72~ipad.png (iPad не сетчатка)
  • [email protected]~ipad.png (IPad сетчатки)

(Для iPad это немного другой постфикс)


Основная проблема

Теперь я заметил, что в моем Info.plist в Xcode 5.0.1 он автоматически попытался и не смог создать ключ для "Icon files (iOS 5)" после завершения создания каталога активов.

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

Окончательное решение:

Добавьте к вам следующий ключ .plist

Я предлагаю вам открыть основной .plist с помощью внешнего текстового редактора, такого как TextWrangler, а не в Xcode, чтобы скопировать и вставить следующий ключ.

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>AppIcon57x57.png</string>
            <string>[email protected]</string>
            <string>AppIcon72x72~ipad.png</string>
            <string>[email protected]~ipad.png</string>
        </array>
    </dict>
</dict>

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


Если вы хотите добавить этот ключ в Xcode без внешнего редактора, используйте следующее:

  • Icon files (iOS 5) - Словарь
  • Primary Icon - Словарь
  • Icon files - Массив
  • Item 0 - String = AppIcon57x57.png И для каждого другого значка пункта/приложения.

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

Не добавляйте следующее к любому .plist: просто пример того, что Xcode теперь будет генерировать для вашей конечной полезной нагрузки

<key>IconPaths</key>
<array>
    <string>Applications/Example.app/AppIcon57x57.png</string>
    <string>Applications/Example.app/[email protected]</string>
    <string>Applications/Example.app/AppIcon72x72~ipad.png</string>
    <string>Applications/Example.app/[email protected]~ipad.png</string>
</array>

Ответ 3

Еще одна возможная икота с переносом на Каталог активов.

Существует два способа определения значков в настройках проекта: CFBundleIconFiles с iOS3 и CFBundleIcons с iOS5. Более старый, несмотря на то, что он старше, вопреки здравому смыслу о обратной совместимости, по-прежнему имеет приоритет. Я использовал CFBundleIcons, прежде чем перейти непосредственно к каталогу активов. И после того, как я переместился, я удалил исходные файлы, на которые указывает CFBundleIcons, потому что, знаете, теперь у меня появился блестящий новый Каталог активов, правильно? И XCode сделал три вещи:

  • он скрывает визуальное редактирование прежнего CFBundleIcons из общих параметров проекта. Зачем вам это нужно, когда вы уже выбрали блестящий новый Каталог активов, не так ли?
  • он не удаляет исходный ключ CFBundleIcons Info.plist, однако, выбрав "Каталог активов", вы говорите ясно и громко, что вы не идете ниже iOS5
  • он также не проверяет указанный ключ. Никаких красных перекрестных ссылок нигде, потому что пользовательский интерфейс настроек проекта, который может их отображать, больше не отображается

Результат будет скрытым, визуально неизменным, возможно устаревшим/неправильным ключом в Info.plist , который имеет приоритет над тем, какой каталог активов создан для вас.

Откройте свой Info.plist вручную и удалите CFBundleIcons, перестройте, повторно загрузите и войте, значок вернется.