Проблема с Icon.png (Значок, указанный в Info.plist, не найден под оболочкой приложения верхнего уровня: Icon.png (-19007))

Я собираю универсальное приложение, и у меня есть значки в моем проекте, но я все время получаю предупреждение от компилятора относительно Icon.png.

Я выполнил инструкции на странице http://developer.apple.com/library/ios/#qa/qa2010/qa1686.html, но по-прежнему получаю указанную выше ошибку.

Я пробовал делать следующее:

Помещение значков в группу Shared и добавление их согласно списку согласно технической заметке. Изменение путей к значкам, чтобы добавить к ним Shared /, чтобы они указывали на общую папку.

Создание группы ресурсов (которая в технической заметке не указывает на то, что XCode не создает группу ресурсов для универсального приложения) и перемещение их в нее (я удалил префиксы «Shared /» из списка).

Перемещение иконок на верхний уровень проекта.

Я также дважды проверил размеры значков, и все они верны, а также их названия.

Что-нибудь, что я мог пропустить?


person Eric    schedule 07.01.2011    source источник
comment
Хорошо, теперь проблема исчезла. Я сбрасываю сборку do Distribute и сбрасываю подпись кода. Странный.   -  person Eric    schedule 07.01.2011
comment
За исключением того, что я построил в режиме отладки, поэтому, когда я построил в режиме распространения, проблема вернулась.   -  person Eric    schedule 07.01.2011
comment
Я сделал сборку и распространил ее. Вроде все равно работает.   -  person Eric    schedule 07.01.2011
comment
Если вы посмотрите на параметры сборки для конфигураций отладки и распространения, вы обнаружите, что в конфигурации распространения включен параметр «Проверить встроенный продукт». Это параметр, который предупреждает вас об отсутствии файла значка. Вот почему вы видите разные результаты.   -  person Jim    schedule 07.01.2011
comment
В моей версии конфигурации Distribute не установлен флажок «Проверить сборку продукта». Я должен продолжать копировать Release на вкладке Configuration, чтобы создать конфигурацию Distribute.   -  person Eric    schedule 07.01.2011
comment
Хорошо, думаю, я понял. Я переименовал Release в Distribute, но когда я изменил его на Distribution, ошибка перестала появляться. Похоже, теперь все в порядке. Спасибо за помощь, Джим. Именно такие нюансы делают разработку таким увлекательной!   -  person Eric    schedule 07.01.2011


Ответы (26)


По какой-то причине (возможно, при добавлении нескольких значков и изменении файла?) Элемент перемещается в item 1-.... Убедитесь, что ваш значок указан как item 0 в plist

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

person SnowboardBruin    schedule 09.02.2012
comment
Собственно проблема для меня. Спасибо. - person Mike Fahy; 11.02.2013

У меня такая же проблема, и я нашел решение. Пожалуйста, попробуйте следующие шаги:

  • Сборка> Очистить все цели
  • Icon.png переименован в xcon.png.
  • Переименован xcon.png в Icon.png.
  • Сборка> Сборка и архивирование
  • Повторно отправлено в iTunes connect - успех!

В основном ничего не делайте, кроме как изменить имя Icon.png и вернуть его обратно, но это работает!

Я пытался использовать 512 * 512 Icon.png для обучения, но позже я скопировал новый 57 * 57, и тогда проблема возникла, я думаю, может быть, это причина этой проблемы.

Я новичок в Mac. Мой XCode4 вылетает примерно 10 раз в день. Мне не хватает Visual Studio.

person rml    schedule 17.11.2011
comment
2 дня сильных головных болей. Это устранило мою проблему! - person Tony Beninate; 09.07.2012
comment
Спасибо, вместе с очисткой (команда K) выйдите из xcode, удалите содержимое папки Derived. - person user1046037; 14.10.2012

Вот мое решение этой проблемы. В MyApp-Info.plist файле была пустая строка. Я вручную удалил его (в текстовом редакторе), и мое приложение было проверено и загружено.

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string></string> <--------- Extra string shouldn't be there------
            <string>[email protected]</string>
            <string>Icon.png</string>
        </array>
    </dict>
</dict>
person nevan king    schedule 21.04.2012

У меня была эта проблема. Для меня ответ состоял в том, чтобы проверить использование заглавных букв. В моем листе были Icon-small-50.png Icon-small.png и [email protected]. Я использовал букву S с заглавной буквы, и проблема исчезла. например Icon-Small-50.png Icon-Small.png и [email protected]

person user864465    schedule 10.08.2011

У меня была точно такая же проблема. Когда вы создаете и архивируете, нажмите «Показать» в поисковике, покажите содержимое пакета архива и проверьте, отображаются ли все файлы. Для меня в архиве почему-то отсутствовал файл Icon.png. В архивной утилите есть ошибка. Я переместил значки из папки ресурсов, почистил и построил проект. Затем я снова переместил значки в папку ресурсов, очистил и построил ее. Затем в архив были скопированы недостающие файлы иконок.

person user592748    schedule 08.04.2011
comment
Это сработало для меня. Я только вытащил неисправный, а затем переместил обратно в соответствии с инструкциями выше. Это устранило проблему. Это действительно проблема. - person finneycanhelp; 22.03.2012

Также имелся пустой строковый узел, но он не отражался в Xcode. Каким-то образом файл info-plist не синхронизировался с файловой системой. Мне пришлось удалить ссылку на него и заново добавить в свой проект, ТОГДА я увидел файл. Это устранило мою проблему.

person james    schedule 24.04.2012
comment
Удалите ненужные имена файлов в файлах значков в info.plist - у меня это сработало - person Dhilip; 21.05.2012

  1. Удалите все файлы значков из интерфейса xcode
  2. Переместите все файлы из папки проекта в какую-нибудь папку на рабочем столе.
  3. переименовать файлы в недавно созданной папке рабочего стола
  4. удалить все записи из файла info-plist для иконок
  5. снова начните назначать значки, перетащив их в окно Xcode в соответствующие места.
  6. Когда вы создаете значки для iphone, xcode автоматически назначает эти значки ipad. НЕ УДАЛЯЙТЕ ЗАПИСИ В РАЗДЕЛЕ IPAD. ВМЕСТО, УСТАНОВИТЕ ЗНАЧКИ, СВЯЗАННЫЕ С IPAD, ЧТОБЫ ЗАМЕНИТЬ СТАРЫЕ. Помните, это важно.
  7. Создать архив.
person Rajeev    schedule 22.11.2012

Добавьте ваши Icon-файлы в «Build Phases» -> «Copy Bundle Resources»

Надеюсь, поможет...

person Insider    schedule 01.02.2013

Щелкните правой кнопкой мыши файлы значков и выберите «Получить информацию». Выберите вкладку «Цели» и убедитесь, что у цели, которую вы создаете, отмечена галочка. Тот факт, что файл находится в проекте, не обязательно означает, что он скопирован в пакет приложения.

person Jim    schedule 07.01.2011

У меня была точно такая же ошибка, очистка проекта и построение снова сработали для меня. Это определенно проблема Xcode - даже на 4.0.2. Какую версию Xcode вы используете? Попробуйте обновиться до последней версии.

person cone    schedule 28.05.2011

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

Одна дополнительная вещь - я вручную добавил имена значков в список в Xcode 3. Я предполагаю, что это противоречило функции связывания изображений в Xcode 4. Поэтому я удалил одну запись, «значок» в списке. Новый компоновщик изображений создает записи plist в виде массива. Я оставил то же самое, хотя я сверил имена файлов с именами изображений в моем пакете, и сделал одно из них заглавными в обоих местах. Я удалил и снова добавил проблемное изображение в комплект.

Я подтвердил, и все прошло.

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

Надеюсь это поможет.

person Anna Billstrom    schedule 27.11.2011

Я также получал эту ошибку, когда у меня была лишняя пустая строка в моем Info.plist. У меня был элемент 0, который был Icon.png, и элемент 1, который был пустым. Пункт 1 был моим значком iPad, но я его убрал. Затем архивирование дало мне предупреждение, которое вы видели. Удаление строки для пункта 1 полностью устранило проблему.

person Nick Curran    schedule 30.11.2011

Была такая же проблема в xcode 4.2. Заметил, что в моем plist есть строки для значков, элементы которых называются как «icon.png», так и «Icon.png». Мой файл значков был назван icon.png, поэтому попытался удалить строку «Icon.png». Это не сработало, но решили переименуйте мой ресурс в «Icon.png», удалите их из проекта и снова добавите в него. Чисто, сборка и успех!

person kn0thing    schedule 09.03.2012
comment
Я удалил их из проекта, очистил проект. Повторно добавил их, и это сработало для меня. - person fulvio; 28.06.2012

В AppName.xcodeproj / project.pbxproj я изменил вхождения icon.png -> Icon.png и прошел проверку.

person Segmentation fault    schedule 18.07.2012

У меня была эта проблема с файлом значка [email protected]. Похоже, что файла не было в целевом объекте сборки (часть его свойств «Целевое членство»).

Решением было добавить его к цели. XCode по ошибке разрешил добавление файлов не в целевой папке в список значков.

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

person Peter Phillips    schedule 03.08.2012

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

person denil    schedule 30.08.2012

  1. Очистите свою сборку
  2. Убедитесь, что файл действительно находится в файловой системе
  3. Убедитесь, что вы видите файл в навигаторе проекта.
  4. Скорее всего, шаг 3 не удастся. Если да, перетащите значок из искателя в навигатор проекта. Когда вас спросят, снимите отметку с опции «copy ..blabla», потому что, поскольку файл уже находится там, куда вы его перетаскиваете, это не сработает. Как только файл появится в навигаторе проекта, вы должны стать золотыми.
  5. Проголосуйте за этот ответ как за «ответ» :)
person Menno Bieringa    schedule 20.10.2012

только что столкнулся с этим сегодня вечером - его недостаточно, чтобы называть правильно и в нужной папке. убедитесь, что вы перетащили его в структуру папок x-code, если я правильно это объясняю. в просмотре папок убедитесь, что они действительно перечислены там.

person lsiunsuex    schedule 06.02.2012

Та же проблема для меня; Я решил, установив для параметра «Сжимать файлы PNG» значение «НЕТ» в info.plist. Очищено, заархивировано, подтверждено, успешно.

person Thompson    schedule 28.02.2012

Была такая же проблема при создании приложения 5.1.

Просто удалите и отправьте в корзину оскорбительные файлы. Затем произведите повторный импорт, убедившись, что кнопка копирования отмечена галочкой.

Очистить -> Сборка

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

person Gerald    schedule 23.03.2012

Это решение сработало для меня: http://vawlog.vawidea.com/en/2010/11/icon-specified-in-the-infoplist-not-found-under-the-top-level-app-wrapper-iconpng/

person Meir    schedule 25.03.2012

Я тоже потратил слишком много времени на эту проблему!

На вкладке «Цели / Информация» я обнаружил, что у меня есть пустые строки в двух разделах, как в файлах значков, так и в файлах значков -> Основной значок -> Файлы значков.

Вам необходимо удалить пустые строки в ОБЕИХ разделах, чтобы иметь возможность архивировать и проверять приложение.

person hfogel    schedule 23.05.2012

Этот метод сработал для меня, и мне не нужно было переименовывать файлы и все прочие полезные вещи.

Я нашел метод в контекстном меню, вызываемом правой кнопкой мыши, под названием Добавить файлы в [проект] ...

Шаг 1

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

Шаг 2

Щелкните Cmd или щелкните правой кнопкой мыши имя проекта (вверху левой боковой панели), а затем укажите «Добавить файлы в [имя проекта] ...»

Шаг 3

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

person crockpotveggies    schedule 14.07.2012

Я использую Xcode 4.3.3.
Я решил проблему, перетащив свой собственный файл icon.png из папки, в которую я его поместил, в проект (ApplicationName-Resources-icons Folder). После этого папка с моими значками выглядела так:

Таким образом, был добавлен ранее отсутствующий файл "icon.png". После этого проверка прошла.

person Edmund Schöpf    schedule 18.07.2012

Здесь та же ошибка. Это происходит, когда я открываю старый проект в Xcode 4. Решение состоит в следующем:

  • найдите файл .plist, найдите ключевой файл значка (не «Файлы значков» или «Файлы значков (iOS 5)»).

  • Удалите его (кнопка минус).

  • Добавьте его снова и поместите имя файла в значение

  • Продукт-> Очистить и Продукт-> Строить снова.

person Gabriel Bullit    schedule 21.05.2012

Эта проблема сводила меня с ума! Я перепробовал все, что написано здесь.

Вот как это сработало для меня:

  • Товар -> Архив
  • В окнах органайзера -> Архивы щелкните правой кнопкой мыши созданный архив.
  • Выберите «Показать в Finder».
  • щелкните правой кнопкой мыши {YourAppArchive} .xcarchive и выберите "Показать содержимое пакетов".
  • перейдите в Продукты -> Приложения
  • щелкните правой кнопкой мыши {YourApp} и выберите "Показать содержимое пакетов"
  • Скопируйте отсутствующие файлы значков сюда
  • Вернитесь в органайзер Xcode и нажмите «Проверить ...»
person Orfeo    schedule 20.06.2013