ошибка: несколько команд создают '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist': 1) команда Target имеет копию объекта Optimal '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' в '/ Users / uesr / Библиотека / Разработчик / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / Build / IPhone / Products / Debug .app / Info.plist '2) У цели' OptimalLive 'есть команда копирования из' /Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist 'в' / Users / uesr / Библиотека / Разработчик / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / Build / Продукты / Debug-iphoneos / OptimalLive.app / Info.plist '3) Цель' OptimalLive 'имеет команду процесса с вводом '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'
Запуск кода в Xcode9 работает, но в Xcode10 есть ошибка.
источник
Ответы:
Эта проблема может возникнуть из-за нескольких Plist или других файлов в приложении
Решение -> Открыть цель -> Этапы сборки> Скопировать ресурсы комплекта и удалить
info.plist
оттуда.Примечание. Если вы также разработали приложение для часов, то вам придется удалить лист с часов и их удлинитель.
источник
info.plist
файл в одной из моих личных зависимостей CocoaPods, который собирался, потому что он соответствовал свойству podspecsource_files
. Мне не нуженinfo.plist
файл в моем модуле, поэтому я просто удалил его.Я нашел решение для этой ошибки сборки, для всех, у кого есть такая же проблема с системой сборки Xcode 10, выполните следующие шаги, чтобы исправить это:
Это решит проблему сборки с новым Xcode 10.
Если вы хотите работать с новой системой сборки, вы можете найти справку по устранению неполадок на этой странице справки Apple XCode .
Надеюсь это поможет!
источник
Перейдите в Xcode -> Файл -> Настройки рабочего пространства. Вы найдете одно всплывающее окно, как.
Выберите « Legacy Build System » из тега «Build System». Нажмите на « Готово »
Примечание: - Обязательно очистите ваш проект с помощью « cmd + shift + alt + k » и « Производные данные »
Создайте свой проект, он будет работать очарование :)
источник
Попробуйте это тоже. Xcode-> File-> Project Settings-> Build System -> Legacy Build System.
источник
Если вы получаете это из
Ditto
команды, создающей несколько экземпляров с одним и тем же именем (НЕ the'copy files' build phase
), вам, возможно, придется изменитьProduct Module Name
.Build Settings
Product Module Name
У нас есть цель для наблюдения и несколько целей для уведомлений в нашем приложении, поэтому я просто добавляю что-то вроде
Extension
конца имени модуля.Я нашел это решение изначально здесь: https://forums.developer.apple.com/thread/103913
источник
All
справа от того места, где вы ищите,Product Module Name
чтобы показать эту конфигурацию сборки.Я экспериментировал с Core Data. Я построил модель данных для простой программы контрольного списка и сгенерировал NSManagedObjects. Когда я скомпилировал проект, я получил следующую ошибку:
Проблема заключалась в том, что модель данных (в моем случае CheckList.xcdatamodeld) была в списке «Источники компиляции». Проект скомпилирован чисто, когда я удалил его из списка.
РЕДАКТИРОВАТЬ
Как @WilliamT. объясняет в комментариях, вам нужен xcdatamodeld в списке компиляции. Вместо этого перейдите к своим сущностям в файле xcdatamodeld. Выберите модели с ошибками, разверните левую панель и измените поле «Codegen» на «Manual / None».
источник
Проверяя журнал сборки, я заметил предупреждение:
Итак, если это ваш случай, тогда просто перейдите к вашей цели:
info.plist
.источник
Если вы используете CocoaPods, вы можете попробовать деинтегрировать их и установить заново. Меня устраивает.
pod deintegrate
pod install
источник
Попробуйте это его работа:
В Xcode, перейдите в File-> Project / Workspace settings.
Измените систему сборки на Legacy Build system.
источник
Прочтите этот ответ, если сообщение об ошибке ссылается на файлы Core Data
Сводка: у вас могут быть как автоматически сгенерированные, так и сгенерированные вручную файлы классов управляемых объектов Core Data.
Этот ответ применяется, если первая строка ошибки относится к файлу Foo + CoreDataProperties.o или Foo + CoreDataClass.o . Пример:
error: Multiple commands produce '/Users/me/Library/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/ MyApp /Debug-iphonesimulator/ MyApp.build/Objects-normal/x86_64/Foo+CoreDataProperties.o':
1) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
2) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
Первопричину можно увидеть, развернув раздел Compile Swift Source Files в Build Transcript. Например:
<unknown>:0: error: filename "Address+CoreDataClass.swift" used twice: '/Users/myUserName/Projects/Jnky/Foo+CoreDataProperties' and '/Users/jk/myUserName/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/Jnky/Foo+CoreDataProperties.swift'
Первый упомянутый файл - это исходный файл в каталоге вашего проекта, который кто-то сгенерировал, выбрав вашу модель данных в Навигаторе проектов и щелкнув в меню « Редактор» > « Создать подкласс управляемых объектов». . Эта функция была добавлена в Xcode 7 или около того.
Второй файл - это файл с тем же именем, но он похоронен в Xcode
DerivedData
. Этот файл автоматически генерируется XCode во время каждой сборки, если.xcdatamodeld
файл модели данных ( ) включен в целевую фазу сборки Источники компиляции . Эта функция была добавлена в Xcode 9 или около того. Ноль, один или два файла генерируются для каждого объекта / класса, в зависимости от настройки всплывающего окна Codegen . Это всплывающее окно находится в инспекторе моделей данных, когда вы выбираете объект при редактировании модели данных ...Настройки:
Итак, вы видите, что проблема возникает, когда разработчик (как я), который привык к старому Xcode, начинает проект в более новом Xcode. Мы считаем, что нам нужно использовать пункт меню « Создать подкласс управляемых объектов» , который мы делаем, чтобы создавать файлы, которые мы можем видеть в Навигаторе проекта, не осознавая, что наши настройки во всплывающем окне Codegen заставляют Xcode создавать дубликаты файлов, которые Apple «Умно» не отображается в Навигаторе проектов, потому что они не доверяют разработчикам читать и учитывать комментарий в заголовке // Этот файл создан автоматически и не должен редактироваться.
Решение 1 - использовать старый путь
Вы можете отключить все автоматические Codegen для модели данных только с одним параметром:
.xcdatamodeld
файл).Решение 2 - Волшебство основных данных для начинающих
Здесь вы идете олл-ин на новый путь.
С этим решением ваши определения классов генерируются автоматически из модели данных каждой сборки. Вы даже не можете их видеть. Это Core Data Magic , приятное и простое для начинающих.
Решение 3 - Для большинства реальных приложений
Но решение 2 бесполезно, если вы действительно хотите добавить неуправляемые свойства. (Objective-C не позволяет добавлять свойства в категориях, а Swift не позволяет добавлять сохраненные свойства в расширениях.) Поэтому в большинстве реальных приложений вы, вероятно, захотите пойти на полпути между решениями 1 и 2…
(Благодарность ответу Позитрона. Мой ответ здесь объясняет, почему ответ Позитрона (мое Решение 1) работает, и добавляет Решение 2 и Решение 3.)
источник
Одним из вариантов, который решил мою проблему, является изменение системы сборки на устаревшую систему сборки. Пожалуйста, выполните следующие шаги в Xcode 10+.
Здесь я написал подробную статью о проблеме и ее решении. Ошибка XCode: множественные команды производят
источник
В моем случае PDFGenerator создавал файл info.plist, я просто удалил его.
источник
У меня была та же проблема, у меня было еще одно вспомогательное приложение в основном приложении, и я скопировал его в ресурс. В моем случае решается как: -
1) Цель -> 2) Этапы сборки 2) Копировать файл (n элементов) 3) Удалить копировать файл.
Приложение Helper автоматически копируется в Xcode 10.0.
источник
Ни одно из предложенных здесь решений не помогло мне. Особенно это было связано с CocoaPods. Ранее я использовал Cocoapods 1.3.1. Простое обновление до 1.5.3 не решило проблему сразу.
Шаги, которые я следовал, были:
pod install
источник
install! 'cocoapods', :disable_input_output_paths => true
в начало моего подфайла. Кроме того, если вы не хотите обновлять свои модули, не удаляйте podfile.lock, и все модули будут установлены в их текущей версии.Прежде чем я начну, обратите внимание, что мой проект использует Carthage в качестве менеджера зависимостей.
Ни один из существующих ответов здесь не решил мою проблему. То, что решило проблему для меня, было следующим.
Во-первых, я заметил, что ошибка сборки указала на одну структуру в частности. Затем я отфильтровал Цель приложения> Фазы сборки для этой платформы. Я заметил, что этот фреймворк присутствует как в «Link Binary With Libraries», так и в «Embed Frameworks». Отмечая, что ни одна из фреймворков, перечисленных в разделе «Внедрять фреймворки», не принадлежала Карфагену, я удалил фреймворк из «Встраивать фреймворки». Затем я пересобрал свой проект, и все работает нормально, включая функциональность, включенную рассматриваемой платформой.
источник
шаги:
источник
Попробуйте все эти варианты, любой из этих 3 вариантов будет работать для вас, наверняка
источник
Поэтому проблема, с которой я столкнулся, заключается в том, что я случайно включил Info.plist в настройки проекта -> Фазы сборки -> Копировать ресурсы комплекта для своей цели.
источник
Эта проблема возникла у меня после добавления второй части пакета SDK Fabric в приложение.
На самом деле произошло то, что GoogleUtilies Framework был добавлен в проект Pods дважды.
Это было бы хорошо до Xcode 10, но Xcode 10 будет жаловаться, если файл имеет два действия против него (в этом случае действие копирования).
Безопасно удалить второй фреймворк.
источник
Вот еще одно рабочее решение: (Если вы используете пользовательские модули)
источник
У меня было множество
Multiple commands produce
предупреждений - не ограничиваясь дублированием info.plist в одной цели. Включая локализованные ресурсы и строковые файлы, заголовки и т. Д.Решение: удалите все дубликаты в целевом членстве.
источник
У меня была эта проблема, когда у меня был файл с одинаковым именем в двух разных целях. По какой-то причине один из этих файлов у меня был частью обеих целей. Так что в основном у меня было два файла. И оба этих файла принадлежали одной цели.
Имеет смысл, что у цели может быть только одно имя файла на цель, поэтому просто снимите флажок с целевого элемента для файла, который не был связан с основной целью, чтобы устранить проблему.
источник
Я использовал Carthage и Xcode 10.
Мое решение -> Проект -> Цель -> Общее ->
Удалите фреймворки, добавленные вместе с Carthage, из «Embedded Binaries»
обычно вам нужно добавить сценарий в фазе сборки, чтобы лишить архитектуру магазина приложений.
В Xcode 10 скрипт кажется вызванным всегда. Таким образом, он копирует фреймворки в нужное место, и вам не нужно добавлять их на вкладку «Общие».
Примечание: если не задано -> в Настройках сборки -> Пути поиска -> Пути поиска платформы -> установить путь к платформе Framework u, добавленной вместе с Carthage .... например. "$ (Project_dir) / Carthage / Сложение / IOS"
источник
Стоит отметить, что эта ошибка может появиться после автоматической генерации моделей CoreData, где Codegen не установлен на Manual / None.
Чтобы исправить это в Xcode 10, дважды щелкните файл xcdatamodeId, выберите каждую из ваших сущностей и установите для Codegen значение Manual / None в поле Class в вашем инспекторе моделей данных.
источник
Была похожая проблема, но с файлами .swiftdoc.
У меня есть расширения и цели модульного тестирования в проекте. И у них было то же «Имя модуля продукта» (PRODUCT_MODULE_NAME в настройках сборки), что и у приложения. После внесения имен уникальная проблема ушла.
источник
Переход на Xcode 10, ошибки вроде
может быть решена следующим образом:
Перейти к
Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System
.источник
Перейдите в фазу сборки проекта и удалите info.plist из источников компиляции. Это устранит эту проблему, и проект снова будет активен.
источник
Один из моих CocoaPods был устаревшим и вызвал проблему. Сделал обновление стручков, и он работал нормально.
Я полагаю, что это мог быть LivePerson SDK
источник
Моя проблема заключалась в том, что Xcode 10 запускался в Mojave, и при попытке запустить модульные тесты, которые я написал перед обновлением до XCode 10.
В моем случае у меня была эта проблема во время выполнения моей
TestTarget
цели. Чтобы решить, мне пришлось:TestTarget > build phases > Target Dependencies
)так как у меня были две другие цели помимо моей,
TestTarget
и оба выполняли один и тот же сценарий и создавали / копировали файлы в определенный момент.И это противоречило тому, что было упомянуто в Замечаниях по выпуску системы сборки для Xcode 10 здесь :
Новое ОБНОВЛЕНИЕ после того, как я обновил от Xcode 10.1 до 10.2
Подобная проблема снова обнаружилась после того, как я обновился до Xcode 10.2. У меня есть несколько целей в проекте:
Target1
иTarget2
, и я решил эту проблему:Edit Scheme > Build
иTarget1
под,Test
так как я знал, чтоTarget2
импортированыTarget1
Также отметим,
Target2
что флажок должен оставаться отмеченным вTest
источник
Для избавления от этой проблемы может быть 2 разных решения:
Решение 1
Как мы видим, я получаю ту же ошибку .. в моем случае была дополнительная копия папки Chat21Core в TildeskWidget папки ..выполняется создавали вопрос .. Так что одно из возможных решений может быть также просто прочитать ошибку целиком и попытайтесь найти, есть ли какая-либо дополнительная копия, на которую ссылаются из проекта или нет.
Решение 2
Еще одно простое решение, которое я нашел, когда столкнулся с проблемой одного типа для другого проекта. На этот раз мне пришлось применить другое решение.
pod deintegrate
из проекта.pod install
и попробуйте построить проект.Надеюсь, это может сработать для вас ..
источник