Ошибка Xcode 10: несколько команд производят
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.
30 ответов:
если вы получаете от этого
Dittoкоманда создания нескольких экземпляров с одинаковым именем (не'copy files' build phase), возможно, вам придется изменитьProduct Module Name.
- нажмите на вашу цель(Ы) Xcode жалуется на
- нажать на кнопку
Build Settings- искать
Product Module Name- измените имя на что-то уникальное
у нас есть цель часов и несколько целей уведомлений в нашем приложении, поэтому я просто ставлю такие вещи, как
Extensionon после имени модуля.Я нашел это решение первоначально здесь:https://forums.developer.apple.com/thread/103913
Я нашел решение для этой ошибки сборки, для тех, кто имеет ту же проблему с Xcode 10 build system, выполните следующие действия, чтобы исправить это:
- в Xcode перейдите в меню Файл- > Параметры проекта / рабочей области.
- измените систему сборки на устаревшую систему сборки.
Это позволит решить проблему сборки с новым Xcode 10.
Если вы хотите работать с новой системой сборки, то вы можете найти помощь по устранению неполадок С этой страницы справки apple Xcode.
надеюсь, что это помогает!
перейдите в раздел Xcode ->File - > Workspace Settings. Вы найдете один всплывающий, как.
выбираем " Устаревшая Система Сборки " из системного тега сборки. Нажмите на кнопку"сделал"
Примечание: убедитесь, что очистить ваш проект с "cmd + shift+alt+k" и "Данные"
построить свой проект, он будет работать прелесть :)
попробуйте и это. В Xcode->Файл->Параметры Проекта-> Построение Системы -> Устаревшая Система Сборки.
при проверке журнала сборки я заметил предупреждение:
note: Using new build system note: Planning build note: Constructing build description Build system information warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/<redacted>/Repositories/Whitesmith/optimize-ios/Carthage/Checkouts/WSStatusBarNotification/Miscellaneous/Info.plist'. (in target 'JDStatusBarNotification')Итак, если это ваш случай, то просто иди к цели:
- Собрать Фаз
- Копия Пакета Ресурсов
- удалить
info.plist.
попробуйте это его работа:
в Xcode перейдите в меню Файл- > Параметры проекта / рабочей области.
измените систему сборки на устаревшую систему сборки.
Если вы используете CocoaPods вы можете попробовать деинтегрировать стручки и установить снова. Это работает на меня.
pod deintegrate
pod install
У меня была та же проблема, у меня было еще одно вспомогательное приложение в главном приложении и скопируйте его в ресурс. В моем случае решается так :-
1) Цель - > 2) Этапы сборки 2) копирование файла (n элементов) 3) удаление файла копирования.
приложение-Помощник автоматически копируется в Xcode 10.0.
прежде чем я начну, обратите внимание, что мой проект использует Carthage в качестве менеджера зависимостей.
ни один из существующих ответов здесь решили мою проблему. То, что решило проблему для меня, было следующим.
во-первых, я заметил, что ошибка сборки указала на один фреймворк в частности. Затем я отфильтровал цель приложения > этапы сборки для этой платформы. Я заметил, что эта структура присутствовала как в "связывании двоичных файлов с библиотеками", так и в "внедрении фреймворков". Отмечая, что ни один из фреймворки, перечисленные в разделе "Embed Framework", были теми, которыми управлял Карфаген я удалил рассматриваемую структуру из"embed Framework". Затем я перестроил свой проект, и все работает нормально, включая функциональность, включенную рассматриваемой платформой.
У меня была куча
Multiple commands produceпредупреждения - не ограничивается информацией.plist дублирование в одной цели. Включая локализованные ресурсы и строковые файлы, заголовки и т. д.решение: удалите все дубликаты в целевом членстве.
попробуйте все это вариант любой из этого 3 варианта будет работать для вас, наверняка
Option 1: Remove all files fromTarget >> Build Phases > > Compile Sources
Target >> Build Phases > > Copy Bundle Resources
Option 2: Change the build system-4-->В Xcode->Настройки Проекта-> Построение Системы -> Наследие Построить СистемуOption 3: remove and update existing podpod cache clean PromisesObjC
pod cache clean PromisesSwift
компакт [your_project_dir]
rm-rf стручки/
РМ файл контейнера.замок
обновление стручкаI hope this will help you, Happy coding :-)
Итак, проблема, с которой я столкнулся, заключается в том, что я случайно включил информацию.plist в настройках проекта - > этапы сборки - > копировать ресурсы пакета для моей цели.
У меня была эта проблема, когда у меня был файл с тем же именем в двух разных целях. По какой-то причине один из этих файлов у меня был частью обеих целей. Так что в основном у меня было два файла. И оба эти файла принадлежали одной цели.
имеет смысл, что цель может иметь только одно имя файла на цель, поэтому просто снимите флажок целевой элемент для файла, который не был связан с основной целью Исправлена проблема.
переход к Xcode 10, ошибки типа
error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':может быть решена следующим образом:
на
Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System.
была аналогичная проблема, но при .файлы swiftdoc.
У меня есть расширения и модульные тестовые цели в проекте. И у них было то же самое" имя модуля продукта " (PRODUCT_MODULE_NAME в настройках сборки), что и приложение. После внесения имен уникальный вопрос ушел.
Поиск & удалить дублировать файлы, которые создаются из нескольких команд.
здесь лишний
Info.plistфайл должен быть удален (в моем случае это былоContents.json)error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
это в основном означает, что у вас есть несколько файлов с именем
Info.plist; Обычно это нормально, но случайно ваши файлы настроены на одно и то же целевое членство. Итак, исправление: щелкните каждый файл и проверьте их целевое членство справа, убедитесь, что они не перекрываются.
У меня была такая же проблема с plist. Оказывается, у меня было две копии, одна была пуста, а другая была в моей папке локализованных ресурсов. Удаление одного из них (пустого) решило проблему.
Если вы проверяете свою ошибку, строки 1) и 2) имеют разные пути. Вероятно, этот файл определен дважды на этапе копирования.
Проверьте свои целевые свойства, фазы сборки, скопируйте ресурсы пакета и найдите дублирующую информацию.файл plist. Выясните, какой путь неверен и удалить его. (Вероятно, вы также захотите удалить его из файловой системы.)
в моем случае информация.файл plist был взят из одного из моих кокосовых стручков. Удалил его и решил проблему.
ни одно из предложенных здесь решений не сработало для меня. Особенно это было связано с CocoaPods. Ранее я использовал Cocoapods 1.3.1. Простое обновление до версии 1.5.3 не решило проблему сразу.
шаги, которые я следовал были:
- Удалить Файл Контейнера.замок
- удалить каталог стручков
- Удалить Производные Данные И Очистить
- Выход Из Xcode
- обновить CocoaPods до 1.5.3
- выполнить
pod install- открыть рабочее пространство и построить
вот еще одно рабочее решение : (если вы используете стручки)
- выберите "стручки" из боковой панели в качестве основных моментов на скриншоте.
- нажмите на фазу сборки. Разверните раздел "заголовки". Есть 3 варианта Public, Private, Project
- разверните Public и проверьте наличие дубликатов файлов. Удалить его. готово!!
в моем случае я импортировал файлы из другого проекта и имел тот же класс в двух местах.
У меня было следующее сообщение об ошибке:
когда я скопировал ошибку, оказалось, что скопировать гораздо больше текстовой информации, и когда я прочитал дамп, я пришел к соответствующей строке:
:0: error: filename " EventNode.Свифт" использован дважды:
который следовал по местам и позволил мне устранить проблема.
в процессе я узнал, что должно быть в "Copy Bundle Resources":
- Главная.раскадровка
- активы.xcassets
- любые сцены SpriteKit (.СКС) ваш проект использует
для меня проблема была связана с тем, что один и тот же файл дважды включался в ресурсы пакета. Не знаю, как это произошло, но я удалил один из них, и он отлично скомпилировался с новой системой сборки.
для проектов зависимостей, управляемых cocoapods, решена проблема путем предоставления локального podspec для исключения информации.плист из первоисточников. Возьмите годзиппу в качестве примера
файл Podfile
pod 'Godzippa', :podspec => "venders/godzippa.podspec"Вендерс/godzippa.podspec
s.source_files = 'Sources/*.{h,m}'
мой
ProjectName.xcodeprojбыла допустимая и недопустимая ссылка на файл с тем же именем. Одно и то же имя файла в навигаторе проекта, одно имя было красным, другое в порядке. Я избавился от недопустимой ссылки один (красный), проблема решена.
в моем случае, у меня был такой же обычай Путь К Папке Общего Заголовка для двух различных статических библиотек. Один был для основного приложения, другой для приложения для часов. Изменен путь для приложения watch, и теперь все в порядке.









Comments