Предупреждение Xcode: "Несколько команд сборки для выходного файла"

Я получаю сообщение об ошибке:

[WARN] Предупреждение: несколько команд сборки для выходного файла /Developer/B/Be/build/Release -iphonesimulator/BB.app/no.png

[WARN] Предупреждение: несколько команд сборки для выходного файла /Developer/B/Be/build/Release -iphonesimulator/BB.app/d.png

[WARN] Предупреждение: несколько команд сборки для выходного файла /Developer/B/Be/build/Release -iphonesimulator/BB.app/n.png

Но я проверил Xcode, и я вообще не вижу дубликатов таких файлов. Поскольку этот пост в списках рассылки Apple, не существует дубликатов.

+482
27 апр. '10 в 1:52
источник поделиться
21 ответ

На самом деле ответ на этот вопрос очень прост.

В вашем поиске xcode для файлов, которые вызывают предупреждение, и просто удалите его.

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

Теперь выполните сборку, вы увидите, что предупреждение удалено. (этот ответ для предыдущей версии xcode)

+105
30 апр. '10 в 21:11
источник

Связанные вопросы


Похожие вопросы

В Навигаторе проектов выберите файл проекта Xcode. Это покажет вам параметры проекта, а также цели в проекте. Посмотрите в разделе "Копирование ресурсов Bundle Resources". Вы должны найти нарушившие файлы в этом списке дважды. Удалите дублируемую ссылку.

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

+798
14 апр. '11 в 6:28
источник

Это легко вызвать, когда вы добавляете подпроекты на основе git. Xcode недостаточно умен, чтобы игнорировать подпапку .git, даже если вы не можете видеть ее из finder, поэтому она очень запутается в том, что существует несколько файлов с именем "master" или "exclude", (стандартные git файлы репо). С помощью Xcode4 перейдите в проект (корень левого дерева), затем нажмите на целевое приложение и разверните "Копировать ресурсы Bundle", а затем удалите все ссылки на .git, вы все равно не должны их использовать в своем приложении.

+124
12 мар. '11 в 20:05
источник

Это не ошибка Xcode, хотя предупреждающее сообщение недостаточно полезно для описания реальной причины.

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

+52
21 дек. '10 в 6:22
источник

Это происходит, если в проекте есть 2 файла с тем же именем. Несмотря на то, что файлы находятся в группах в XCode, когда проект скомпилирован, все файлы попадают в один и тот же каталог. Другими словами, если у вас есть /group 1/image.jpg и/group2/image.jpg, скомпилированный проект будет иметь только один из двух файлов image.jpg.

+25
10 нояб. '10 в 11:09
источник

Как уже упоминалось, эту проблему можно увидеть, если у вас несколько файлов с тем же именем, но в разных группах (желтые папки) в навигаторе проекта. В моем случае это было преднамеренно, поскольку у меня было несколько подкаталогов с "preview.jpg", которые я хотел скопировать в пакет приложений:

group references

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

Удалите оскорбительные файлы и выберите "Удалить ссылку" (поэтому мы не удаляем их полностью):

remove group references


Повторно добавьте их в проект, перетащив их обратно в навигатор проекта. В появившемся диалоговом окне выберите "Создать ссылки на папки для любых добавленных папок":

add as folder references


Обратите внимание, что файлы теперь имеют значок синей папки в навигаторе проекта:

folder references


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

+17
25 сент. '13 в 10:32
источник

Это не ошибка. Помощь Xcode может помочь вам. Выберите цель, слева в Навигаторе проекта. Нажмите "Проверить настройки" внизу настроек. Xcode проверит настройки и удалит дубликаты, если это возможно.

+15
22 февр. '12 в 0:56
источник

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

чтобы исправить это...

  • перейти к целевому проекту.
  • выберите Build Phases
  • выберите фазу сборки Headers
  • введите имя, указанное в предупреждении
  • обратите внимание на два (или более) элемента
  • найдите +|- в нижнем левом углу
  • выберите один из элементов и нажмите кнопку -
+14
11 окт. '14 в 18:03
источник

В моем случае проблема была вызвана тем же именем цели и папки внутри группы.

Просто переименуйте конфликтующий файл или папку, чтобы решить проблему.

+7
21 авг. '11 в 16:28
источник

Я нашел довольно простое решение для этого:

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

Предупреждение исчезло! Проверьте это изображение для справки.

enter image description here

+6
28 авг. '12 в 2:05
источник

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

Это случается, если вы одновременно добавляете в проект несколько зависимых от языка файлов. Я нашел это, просмотрев различия git. Я ничего не сделал в коммите, но добавил новые локализованные файлы nib. Но, оглядываясь на разницу в файле project.pbxproj, он показал кучу новых дублированных ссылок, добавленных для файлов, которые уже были в проекте раньше. Файлы, которые он сделал, тоже казались случайными для меня.

Я повторял это одно и то же поведение несколько раз.

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

Xcode 4 - просто огромное разочарование для меня.

+5
20 мая '11 в 20:46
источник

Это происходит потому, что ur "no.png" "d.png" и "n.png" дублируются в ресурсах. Просто найдите удаление дублированных файлов и удалите.

+4
23 сент. '11 в 10:36
источник

Кажется, что ошибка появляется, когда у вас имеется более одной ссылки того же файла. У меня было 2 файла с тем же именем и эта ошибка. Когда я удаляю один из них, ошибка исчезает.

+3
20 февр. '11 в 14:27
источник

Еще один вариант этой проблемы. У меня было такое же сообщение, что ни одно из ранее предложенных решений не решило проблему (у меня определенно была только одна копия файла-нарушителя).

Моим решением было отредактировать файл project.pbxproj в текстовом редакторе (после выхода из XCode и резервного копирования файла, конечно) и удалить все ссылки на файл-нарушитель. Затем, снова запустив XCode, я вручную добавил файл обратно в проект, и все было в порядке.

(Мое подозрение, что эта проблема возникла из-за руководства, то есть: не-XCode, слияние файла проекта.)

+2
09 июн. '11 в 13:25
источник

Откройте папку Frameworks в своем проекте и убедитесь, что внутри нее есть только фреймворки. Я добавил по ошибке всю папку разработчика!

+1
18 июн. '12 в 18:08
источник

У меня была такая же проблема минут назад. Я упомянул об изменении цели развертывания, исправил мою проблему.

+1
13 мар. '13 в 17:17
источник

Ключ должен был сделать pod deintegrate и файл rm *.workspace ! Что за трата времени !

0
10 июн. '19 в 4:55
источник

Для меня Target > Build Settings > Packaging > Product Name был настроен на то же, что и другое значение, указанное в файле .plist, который был обычным для моего приложения. В результате из-за нашего процесса сборки это создает повторяющиеся файлы.

0
09 июл. '14 в 16:15
источник

Swift 3: (но также и более старые версии) это происходит, когда у меня есть активы с дубликатами. Просто переименуйте файлы с этой проблемой, и все идет хорошо.

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

0
07 окт. '16 в 10:27
источник

Что сработало для меня:

  1. Перетащите репо в корзину.
  2. переклонировать ваш репо.
  3. настройте репо с правильным удаленным отслеживанием. git remote add <url.git> или git remote set-url <url.git>

Это отлично сработало для меня. В моем случае по какой-то неуловимой причине, когда я запускал git pull upstream develop для локальной зависимости, git извлекал/генерировал дубликаты файлов из нескольких коммитов.

После выполнения вышеперечисленных шагов проблема исчезла, и git pull upstream develop больше не тянул сразу несколько коммитов. Возможно, для моего репо был странный git кеш.

0
08 окт. '18 в 23:59
источник

Одним из простых способов является,

  • Перейти к цели приложения
  • Перейти к этапам сборки
  • Выходные файлы
  • Удалите путь из выходных файлов, затем соберите проект. Это будет работать успешно.
-1
21 дек. '18 в 9:56
источник

Посмотрите другие вопросы по меткам или Задайте вопрос