Предупреждение XCode: «Несколько команд сборки для выходного файла» - PullRequest
483 голосов
/ 27 апреля 2010

Я получаю ошибку, подобную этой:

[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 говорится, что дубликатов нет.

Ответы [ 21 ]

5 голосов
/ 21 мая 2011

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

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

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

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

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

4 голосов
/ 23 сентября 2011

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

3 голосов
/ 20 февраля 2011

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

2 голосов
/ 09 июня 2011

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

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

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

1 голос
/ 13 марта 2013

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

1 голос
/ 18 июня 2012

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

0 голосов
/ 10 июня 2019

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

0 голосов
/ 21 декабря 2018

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

  • Перейти к цели приложения
  • Перейти к этапам сборки
  • Выходные файлы
  • Удалите путь из поставленных файлов, затем соберите проект Он будет успешно работать.
0 голосов
/ 09 октября 2018

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

  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 голосов
/ 07 октября 2016

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

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

...