Отсутствие CFBundleIconName в выпуске приложения Xcode9 iOS11

Я изо всех сил пытаюсь выпустить новую версию нашего приложения, используя Xcode 9, созданный с помощью IOS 11 SDK. Архивирование и загрузка двоичного файла происходит без каких-либо проблем. Строка появляется в iTunes Connect под Activity как "обработка", и она исчезает, и я получаю следующее письмо назад.

Уважаемый разработчик,

Мы обнаружили одну или несколько проблем с вашей недавней доставкой для ". Для обработки вашей доставки должны быть Исправлено: Отсутствует значение Info.plist - Значение для ключа Info.plist CFBundleIconName отсутствует в пакете ''. Приложения, которые значки в каталоге активов также должны предоставлять этот Info.plist ключ. Для получения дополнительной информации см. http://help.apple.com/xcode/mac/current/#/dev10510b1f7. Когда эти проблемы были исправлены, вы можете повторно обновить исправленные двоичный файл. С уважением, команда App Store

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

Любое предложение о помощи будет высоко оценено.

Ответ 1

Я понял, что поскольку сборки Xcode 9 для iOS 11 требуют, чтобы значок приложения iTunes Connect был связан с самим двоичным файлом, который мог быть добавлен непосредственно в iTunes Connect в более ранних версиях Xcode (ранее XCode 8.3.3).

Если вы распространяете свое приложение через App Store, добавьте App Store значок каталога ресурсов, расположенного в проекте Xcode. Расположение значок зависит от платформы.

Для приложений iOS и watchOS, созданных с использованием Xcode 8.3.3 и более ранних версий, вы добавляете значок App Store в iTunes Connect. Для приложений MacOS и TVOS, вы добавляете значок App Store для проекта Xcode, но местоположение в активе Каталог отличается от приложений, созданных с помощью Xcode 9 и более поздних версий.

Необходимый значок App Store должен быть размещен в каталоге ресурсов, расположенном в комплекте приложений.

Adding App Store Icon

Таким образом, CFBundleIconName теперь должен быть установлен в AppIcon (значение по умолчанию) или любое другое значение, которое вы установили.

Добавление только этого изображения не пройдет процесс загрузки в iTunes Archive, поэтому нам нужно добавить все изображения значков приложений следующих размеров:

  • 20pt 1x, 2x, 3x
  • 29pt 1x, 2x, 3x
  • 40pt 1x, 2x, 3x
  • 60pt 1x, 2x, 3x
  • 76pt 1x, 2x
  • 83,5pt 2x
  • 1024pt 1x

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

Ответ 2

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

Мое приложение ранее не использовало каталог xcassets, поэтому я добавил его в проект, пытаясь решить эту проблему, используя File - New - File... и выбрав каталог активов из типов файлов - я назвал его Assets.xcassets и выбрал его в проекте xcode. Затем щелкните правой кнопкой мыши в области справа и выберите "Добавить значки приложений" и "Запустить изображения", а затем "Новый значок приложения для iOS", а затем я перетащил изображение 1024x1024 в колодец для хранения приложений iOS 1024pt, который, по вашему мнению, сработал бы. но я все еще получил отклоненные письма после архивирования и отправки в магазин.

Отсутствует значение Info.plist - значение для ключа Info.plist отсутствует в списке CFBundleIconName. bla bla bla...

Я также добавил ключ к Info.plist для "имени значка", который также известен под именем CFBundleIconName и установил его в имя файла строки, совпадающее с моим изображением 1024x1024 в проекте. Но никто из них не работал, даже если проверка содержимого IPA показала все правильно.

Наконец, я удалил AppIcon из моего каталога под названием Assets.xcassets, чтобы он был пустым и для устранения проблемы сделал следующее:

Перейдите к основному параметру приложения, нажав на свое имя приложения, а затем выбрав вкладку GENERAL, а затем в разделе "Приложения" и "Запустить изображения" нажмите кнопку рядом с источником "Иконки приложений" и выберите использовать каталог активов - выберите имя вашего каталога активов - мой был вызван Assets.xcassets - и сказал, чтобы преобразовать (перенести) приложение с помощью кнопки в этом всплывающем окне - я также проверил поле для конвертирования изображений запуска - когда вы закончите Source Icons и Исходные изображения Источник будет иметь имена в раскрывающемся списке.

перейдите в каталог активов, щелкнув по нему - снова мой был Assets.xcassets, а затем щелкните в разделе AppIcon и перетащите изображение 1024x1024 в ядро ​​/слот App Store iOS 1024pt. архивируйте приложение в последний раз и отправляйте его в магазин приложений - на этом этапе мы надеемся, что больше не будем получать электронные письма из ада, поскольку я начал называть их отказом от вашего приложения, и вы можете вернуться в iTunesConnect для отправки своего приложения.

Удачи - я сочувствую боли, которую вы могли бы испытывать с этой главным образом загадочной ошибкой, когда вы пробовали множество разумных исправлений, которые просто не выходили за рамки. Такова жизнь программиста иногда...;)

Если бы было легко, все это сделали бы, правильно.;)

Ответ 4

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

В Цель., Настроить параметры., Раздел "Компилятор каталога активов" - "Параметры", убедитесь, что имя каталога активов, содержащего значки, отображается в Идентификаторе значка приложения каталога приложений > . По какой-то причине мое Идентификатор значка приложения каталога приложений не было пустым.

Ответ 5

Приложения, созданные с помощью IOS 11 или более поздней версии SDK, должны указывать значки приложений в каталоге активов и также должны указывать значение для этого ключа Info.plist

Для старых проектов без каталога ресурсов будут проблемы при отправке в Appstore

В проекте → Свойства цели - вкладка "Общие" → "Иконки приложений" и "Запустить изображение".   Значки приложений → Выбрать Использовать каталог активов Затем он попросит конвертировать (выполнить миграцию) с предупреждением и создать файл .xcassets. Установите флажок, чтобы конвертировать изображения запуска.
Когда закончите, в раскрывающемся списке будут указаны имена иконок приложений и источник изображений запуска. Добавьте к нему значки приложений и другие значки

Ответ 6

Теперь в IOS 11 нам нужно добавить новый значок в нашем проекте размером 1024x1024.

Убедитесь, что файлы иконок удалены из папки ресурсов в комплекте с исходным кодом, а также файл файлов значков в файле info.plist очищен. Также добавьте ключ CFBundleIconName в plist, как показано ниже

Info.plist:

<key>CFBundleIconName</key>
<string>AppIcon</string>

Также в разделе "Компилятор каталога Project-Target- > Build Settings → Asset Catalog" убедитесь, что имя каталога активов, содержащего значки, отображается в значке набора значков приложения каталога активов.

Ответ 7

Я получил ту же проблему и решил ее следующим образом.

Вот пошаговое руководство.

Шаг 1:

Создайте значок с 1024 * 1024.png

Шаг 2:

Загрузите этот png на веб-сайт https://www.appicon.build/ и перетащите его на экран.

enter image description here

Шаг 3:

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

Шаг 4:

Вернитесь к своему проекту на Xcode и добавьте эту разархивированную папку (называемую AppIcon.appconset) в папку ресурсов в вашем проекте xcode.

enter image description here

Шаг 5:

Дважды щелкните папку Asset.xcassets и перетащите нужные изображения на заполнитель изображений для 2х и 3х изображений из сгенерированных изображений.

enter image description here

Вы хороши, чтобы пойти!...

Ответ 8

Я тоже столкнулся с значением "Missing Info.plist - значение для ключа Info.plist. Имя CFBundleIconName отсутствует в пакете..." ошибка и я хотел бы оставить краткий ответ, надеюсь, помочь следующему человеку.

Приложение не использовало каталог активов. Хотя это не то, что говорит эта ошибка, это то, что требуется для решения этой проблемы, но важно, как вы добавляете значения. Недостаточно вручную добавить этот недостающий ключ\значение в .plist; это больше, чем это. Вам также нужно удалить значение CFBundleIcons из вашего .plist. Это можно сделать вручную, но я рекомендую использовать интерфейс XCode, чтобы отредактировать это с помощью свойств проекта - общих иконок приложений и запуска изображения. Вот как я получил свою работу.

Ниже приведен снимок экрана изменений, внесенных в мой .plist.

Обновлен .PList

Иконки приложений и запуск изображений

Добавьте новый проект в свой проект, если у вас его еще нет.
Нажмите на название приложения в верхней части окна вашего навигатора
Выберите вкладку GENERAL
Прокрутите вниз до раздела "Приложения и запуск изображений"

Нажмите кнопку "Использовать каталог активов"

ПРИМЕЧАНИЕ. Я создал свой собственный каталог ресурсов и набор изображений значков приложений iOS, но привязка к существующему не работала для меня, поскольку он создал новый набор изображений, в котором были пустые значения \images. Мне пришлось удалить их все и позволить этому процессу создать их для меня. Если вы только что добавили каталог активов для решения этой проблемы, пусть этот процесс создаст его для вас, не добавляйте вручную набор изображений.

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

Теперь откройте свой новый каталог активов, щелкнув по нему
Нажмите "AppIcon" и перетащите нужные изображения в соответствующие места.

Вам понадобится изображение 1024x1024 для значка App Store iOS 1024pt и любых других иконок iPhone\iPad\Universal. Изображение 1024x1024px также известно как значок маркетинга. Вы не можете отправить свое приложение без него.

Теперь вы можете заархивировать свое приложение и отправить его в магазин приложений.

Ответ 9

Следуйте инструкциям ниже.

  1. В ваш проект добавьте новый файл >> Asset Catlog.
  2. Перейти к Нажмите на ваш проект в XCODE >> Общие >> Значки приложений. Смотрите скриншот screenshot. Это автоматически создаст спецификации AppICon и LaunchImage внутри вашего актива, после чего вы сможете перетащить значок Appstore и другие значки в нем.

  3. Также добавьте
    <key>CFBundleIconName</key>
    <string>AppIcon</string>
    .

Эта запись в вашем файле plist.

Загрузите ваши двоичные файлы в Itunes.

Ответ 10

Для тех, кто выше ответ не помог (потратил много времени на этот удар):

Обязательно проверьте целевое членство в вашем каталоге ресурсов! Если вы не правильно связали членство здесь, вы получите ту же самую универсальную ошибку (Apple должна что-то сделать с сообщениями об ошибках).

enter image description here

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

Вам вообще не нужно редактировать список, большинство из этих ответов вводят в заблуждение.

Надеюсь, это поможет тому, кто ударит!

Ответ 11

Я наконец-то придумал чистое решение этой проблемы, которое не требует добавления ключей к info.plist, например CFBundleIconName. Я сделал это, обновляя старое приложение в магазине приложений для сборки под SDK 11.2 (и поверьте мне, было немало разочарований). Я использую Xamarin в Visual Studio на ПК, но это решение должно работать в любой другой среде или среде, например. XCode. Суть решения заключается в том, что файл info.plist и папка Resources больше не должны играть никакой роли в том, что касается значков приложений и изображений запуска. Фактически вы можете удалить ключ CFBundleIconFiles из файла info.plist, и это не повлияет на ваш проект.

Вот шаги, которые необходимо выполнить:

  1. Сделайте копию значков вашего приложения и запустите изображения и храните их в отдельном месте.
  2. Для чистого запуска удалите ссылки на значки приложений и запустите изображения из info.plist, что означает удаление значений в ключе CFBundleIconFiles.
  3. Удалите значки приложений и запустите изображения из папки "Ресурсы".
  4. Используйте опцию удаления, чтобы удалить любые "Активы" или "Медиа", которые вы объявили в "Каталогах активов".
  5. Папка с именем Assets.xcassets или Media.xcassets (или папки с аналогичным названием .xcassets) все еще может присутствовать в вашем проекте. Они будут либо снаружи, либо внутри папки ресурсов. Удалите все папки .xcassets.
  6. Теперь откройте файл проекта в редакторе, таком как блокнот (например,.csproj в Visual Studio), и посмотрите, есть ли ссылки на файлы в папке .xcassets. Удалить все такие ссылки. Также убедитесь, что в этом файле нет ссылок, указывающих на значки приложений или изображения запуска в папке "Ресурсы", и удалите их.
  7. Убедитесь, что ключи XSAppIconAssets и XSLaunchImageAssets больше не присутствуют в info.plist. Удалите их, если они все еще присутствуют.
  8. На этом этапе вы удалили все предыдущие файлы или ссылки на значки приложений и запустили изображения из вашего проекта. Если они все еще присутствуют, вернитесь и удалите их. Теперь, чтобы начать заново, создайте новый 'Asset' или 'Media' в 'Asset Catalogs', который создает папку .xcassets в вашем проекте. Скопируйте значки вашего приложения (и запустите изображения, если необходимо) из шага 1 в соответствующие папки в новой папке .xcassets. Убедитесь, что все необходимые изображения включены.
  9. Убедитесь, что info.plist теперь содержит значения ключей XSAppIconAssets (и XSLaunchImageAssets, если необходимо) для нового созданного вами "Актива". Ваш файл проекта (который является .csproj в Visual Studio) теперь должен содержать ссылки на каждое изображение, которое вы добавили в свой новый "Актив". Нет необходимости в каких-либо дополнительных изображениях, кроме тех, которые требуются проектом. Я бы предложил удалить любые дополнительные изображения из ваших активов.
  10. Если вы добавили ключ с именем CFBundleIconName, как упоминалось в других решениях, удалите этот ключ из info.plist. Это не обязательно. Теперь вы готовы отправить свое приложение в магазин.

Ответ 12

Не нужно редактировать файл info.plist. Ошибки, связанные с значком, будут устранены путем заполнения всех заполнителей изображений для AppIcon в images.xcassets.

Ответ 13

При обновлении версии версии 15.2 возникла проблема с Visual Studio 17 (v-15.2), вы увидите владельца места App-Icon-1024x1024 в AssetCatalog > Media > AppIcons

введите описание изображения здесь

Ответ 14

Каждый разработчик приложения использует знаменитую "Icon Dog"

(жаль, что они сменили название!)

enter image description here

https://itunes.apple.com/us/app/app-icon-set-creator/id1052532083?mt=12

Это, несомненно, # 1 наиболее популярное приложение используется IOS дэвов, своего рода культ.

Это сразу решает все проблемы.

Ответ 15

В моей ситуации; после того, как вы проделали все это на этой странице, не забудьте снова заархивировать свой проект :)

Ответ 16

Для приложений Xcode 9.2 для iOS 11 необходимо пояснить пару моментов.

1- Эта ошибка связана с отсутствием активов значков в каталоге активов.

(Получил эту ошибку, отправив приложение без каталогов активов).

2- Эта ошибка решается добавлением каталога активов с необходимыми значками.

(В моем случае это было приложение только для iPhone, и я добавил некоторые изображения-заполнители размером 120x и 180x).

3- Эта ошибка не связана с 1024x1024 "значком App Store"

(Если вы забудете значок большего магазина, появится отдельная ошибка, а не эта ошибка).

4- Вопреки документации Apple, даже с (Xcode 9 + написано для iOS 11) вы также можете использовать веб-сайт для отправки значка App Store.

(Отдельная конкретная ошибка, упомянутая выше, вызвана отсутствием значка, а не отсутствием значка в представленной сборке).

5- отсутствующий CFBundleIconName в Info.plist не был изменен.

Ответ 17

У меня также было много проблем по этому вопросу - я постоянно получал сообщение об ошибке с отсутствующим CFBundleIconName и тем, что мои значки не были найдены. Так вот моя история, может быть, она кому-нибудь поможет. Кстати, я использую Visual Studio с Xamarin.

  1. Добавьте каталог активов в свой проект с помощью AppIcons (фактическое имя ресурса не важно, а только для значков приложения). Добавьте все необходимые размеры значков. Для значка "App Store" я добавил значок без @в названии, как предлагал кто-то на форумах, но я не уверен, если это необходимо на 100%. Для создания иконок разного размера существует множество веб-сайтов и инструментов, которые могут сделать это за вас, и вам просто нужно предоставить 1024x1024. Они будут генерировать остальное.

  2. В Info.plist в разделе "Визуальные ресурсы", а затем "Значки приложений" установите источник для только что созданного актива.

  3. Теперь проверьте ваш Info.plist. Не открывайте его с помощью внешнего редактора, поскольку все ваши изменения будут перезаписаны после создания проекта. Сделайте следующее - щелкните правой кнопкой мыши по списку Info.plist в обозревателе решений и выберите "Открыть с помощью" → "Универсальный редактор списков".

  4. Убедитесь, что у вас есть следующие записи:

    -Property = CFBundleIconName, Type = String. Значение = Assets.xcassets/AppIcons.appiconset -Property = XSAppIconAssets, Type = String. Значение = Assets.xcassets/AppIcons.appiconset

  5. Обратите внимание, что Visual Studio автоматически добавляет, когда добавляет что-либо, "Resources/Assets.xcassets/AppIcons.appiconset" в качестве значения. Но в моем случае Каталог Активов был создан вне папки Ресурсов и, следовательно, мои значки не были найдены. Итак, проверьте, где была создана папка с активами.

  6. CFBundleIconFiles не был необходим, потому что теперь Apple использует каталог активов.

Я надеюсь, что мне помогли :)

Ответ 18

Я использовал ответ от @Omair, и он точен, однако тогда я получал ошибки, что различные значки не были найдены. Проблема заключалась в ошибке в VS2017 при создании каталога активов. При добавлении нового каталога ресурсов папка каталога создается в корневом каталоге проекта, а не в каталоге /resources. Однако запись в файле info.plist имеет путь в каталоге /resources. Как только я удалил /resources из пути к моему каталогу активов, все заработало нормально. Надеюсь, это поможет кому-то!