Xcode 10 Ошибка: несколько команд - PullRequest
0 голосов
/ 06 июня 2018
error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':
1) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
2) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
3) Target 'OptimalLive' has process command with input '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'

выполнение кода в Xcode9 работает, но приводит к ошибке в Xcode10.

Ответы [ 57 ]

0 голосов
/ 07 июня 2018

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

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

0 голосов
/ 07 июня 2018

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

Если вы проверите свою ошибку, строки 1) и 2) имеют разные пути.Вероятно, этот файл был определен дважды на этапе копирования.

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

0 голосов
/ 06 июня 2018

Попробуйте тоже.Xcode-> File-> Project Settings-> Build System -> Legacy Build System.

0 голосов
/ 11 октября 2018

Перейдите в фазу сборки проекта и удалите info.plist из источников компиляции.Эта проблема будет устранена, и проект снова будет активен.

enter image description here

0 голосов
/ 18 июня 2018

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

У меня было следующее связанное сообщение об ошибке: enter image description here

Когда я скопировал ошибку, оказалось, что я скопировал БОЛЬШЕ текстовой информации, и когда я прочиталчерез дамп я пришел к соответствующей строке:

: 0: ошибка: имя файла «EventNode.swift» использовалось дважды:

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

В процессе я выяснил, что должно быть в «Копировать ресурсы комплекта»:

  • Main.storyboard
  • Assets.xcassets
  • любых сцен SpriteKit (.sks), используемых вашим проектом
0 голосов
/ 16 октября 2018

Моя проблема была в том, что Xcode 10 запускался в Мохаве, и при попытке запустить модульные тесты, которые я написал перед обновлением до XCode 10.

В моем случае у меня была эта проблемапока управляю моей TestTarget целью.Чтобы решить, я должен был:

  • Удалить одну из целевых зависимостей (в TestTarget > build phases > Target Dependencies)

, так как у меня было две другие цели, кроме моего TestTarget и обоихвыполняли тот же сценарий и создавали / копировали файлы в определенный момент.

И это противоречило тому, что было упомянуто в Замечаниях по выпуску системы сборки для Xcode 10 здесь :

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

Новое ОБНОВЛЕНИЕ после обновления с Xcode10.1 до 10.2

Подобная проблема снова обнаружилась после того, как я обновил Xcode 10.2.У меня есть несколько целей по проектам: Target1 и Target2, и я решил эту проблему:

  • , перейдя к Edit Scheme > Build и
  • , удалив одну из целей изстроится: снимите флажок Target1 в Test, поскольку я знал, Target2 импортировано Target1

Также отметим, что флажок Target2 должен оставаться отмеченным в Test

0 голосов
/ 28 июня 2018

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

  1. В Xcode перейдите кFile-> Project / Workspace settings.
  2. Измените систему сборки на Legacy Build system.

enter image description here Это решит проблему сборкис новым Xcode 10.

Если вы хотите работать с новой системой сборки, то вы можете найти справку по устранению неполадок на этой странице помощи Apple Xcode .

Hopeэто помогает!

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

Я экспериментировал с Базовыми данными.Я построил модель данных для простой программы контрольного списка и сгенерировал NSManagedObjects.Когда я компилировал проект, я получил следующую ошибку:

error: Multiple commands produce '/Users/myUSerName/Library/Developer/Xcode/DerivedData/myCoreDateExperiment-gzbslaqdwglkzxemijpdqmizgyzc/Build/Intermediates.noindex/ myCoreDateExperiment /Debug-iphonesimulator/ myCoreDateExperiment.build/Objects-normal/x86_64/CheckListItem+CoreDataProperties.o':
1) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files
2) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files

Проблема заключалась в том, что модель данных (в моем случае CheckList.xcdatamodeld) была в списке «Источники компиляции».Проект скомпилирован чисто, когда я удалил его из списка.

  1. Откройте навигатор проекта и выберите проект (самая первая запись сверху)
  2. Выберите цель сборки в разделе «Цели» на панели «Проекты и цели»
  3. Выберите опцию Build Phases в верхней части
  4. Разверните запись "Compile Sources" и найдите название вашей модели данных.Ищите «xcdatamodeld», если у вас есть проблемы с его поиском.
  5. Удалить модель из списка компиляции
  6. Убедитесь, что модель данных включена в список «Копировать ресурсы комплекта».Добавьте его, если он отсутствует.
0 голосов
/ 29 июня 2018

У меня такая же проблема, но с заголовочными файлами.

enter image description here

В этом случае решение заключается в перемещении заголовков из раздела «Public» в раздел «Project».

enter image description here

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

Для людей, которые полагаются на одинаковые имена при импорте заголовков Swift.(Пример: имя файла заголовка: #import "MyApp-Swift.h"):

Имя этого файла заголовка фактически определяется как ${SWIFT_MODULE_NAME}-Swift.h, где SWIFT_MODULE_NAME использует PRODUCT_MODULE_NAME в качестве значения по умолчанию.

Кроме того, существует параметр сборки, который является обще проектным и называется: SWIFT_OBJC_INTERFACE_HEADER_NAME «Имя заголовка сгенерированного интерфейса Objective-C», и его значение по умолчанию равно ${SWIFT_MODULE_NAME}-Swift.h.Изменяя это значение на MyApp-Swift.h, все цели в нашей агрегатной сборке смогли использовать одно и то же имя заголовка, и из них мы смогли изменить значение PRODUCT_MODULE_NAME.

...