Xcode 10错误:产生多个命令

mak*_*ake 552 info.plist xcode10

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'
Run Code Online (Sandbox Code Playgroud)

在Xcode9中运行代码有效,但在Xcode10中导致错误.

Alo*_*lok 985

由于App中存在多个Plist或其他文件,可能会出现此问题

解决方案 - >打开目标 - >构建阶段>复制捆绑资源info.plist从那里删除.

在此输入图像描述

注意:如果您也开发了手表应用程序,那么您也必须从手表和手表扩展中移除钳子.

  • 详细说明:发生此错误是因为Xcode 10的新构建系统更好地捕获项目配置问题.像这样的问题有时可能会导致您的构建出现细微问题,因此最好修复它们. (64认同)
  • 您可能还需要查看任何依赖项,即CocoaPods,用于错误添加的info.plist文件 (12认同)
  • 在我的情况下,我在我的一个私有CocoaPods依赖项中有一个`info.plist`文件被挖出来,因为它与podspec的`source_files`属性相匹配.我的模块中不需要`info.plist`文件,所以我删除了它. (8认同)
  • 谢谢!我前段时间在我的代码中添加了一些开发人员插件,它还有一个与我的应用程序的info.plist冲突的info.plist文件 (3认同)
  • 就我而言,我必须删除一些名为InfoPlist.strings的本地化文件。 (2认同)
  • 谢谢@Alok :)我没有删除文件,而是用唯一的名称重命名了这两个文件,并且我的代码运行正常。 (2认同)
  • 就我而言,我在复制捆绑资源构建阶段有两个不同的 Localize.strings 条目。谢谢@Alok! (2认同)

Aks*_*ani 514

我找到了这个构建错误的解决方案,对于其他任何与Xcode 10构建系统有相同问题的人,请按照以下步骤进行修复:

  1. 在Xcode中,转到文件 - >项目/工作区设置.
  2. 将构建系统更改为Legacy Build系统.

在此输入图像描述 它将解决新Xcode 10的构建问题.

如果您想使用新的构建系统,那么您可以从这个Apple Xcode帮助页面找到故障排除帮助.

希望这可以帮助!

  • 你没有解决问题,你只是隐藏它们. (112认同)
  • 这不是一个长期的解决方案.最终遗留构建系统将不再是一个选项. (5认同)
  • 你能解释为什么会出现这个问题,以及选择Legacy Build System如何解决它?@Akshay Sunderwani (4认同)
  • 修复了本机项目的构建错误。在此处查看问题:https://github.com/facebook/react-native/issues/20492如果您不想切换到旧版构建系统,则有可能的修复方法:https://github.com/facebook/ react-native / issues / 20492#issuecomment-422958184 (4认同)
  • 好吧,我100%会隐藏问题而不是解决问题,因为这些解决方案均无法解决。Cocoapods似乎是一个已知问题;参见https://github.com/CocoaPods/CocoaPods/issues/7949​​。我希望它在某种解决方法不再可用时能够以某种方式修复。 (4认同)
  • 从 Xcode 12 开始,旧版构建系统现已正式弃用:“旧版构建系统已弃用,并将在未来版本中删除。(62742902)”(https://developer.apple.com/documentation/xcode-release) -notes/xcode-12-release-notes) (3认同)
  • @Caio:如果这隐藏了问题,我们如何解决这个问题? (2认同)
  • 以两种不同的方式生成同一个文件是个坏主意。如果幸运的话,文件总是相同的。如果没有,恭喜你,你已经为你的构建生成了一个 Heisenbug。 (2认同)
  • 遗留的构建系统最终将被删除。像这样隐藏问题只是拖延。 (2认同)

Har*_*344 158

转到Xcode - >文件 - >工作区设置. 你会发现一个像弹出窗口一样.

在此输入图像描述

从Build System标签中选择" Legacy Build System ".按" 完成 " 按

注意: -确保使用" cmd + shift + alt + k "和" 派生数据 " 清除项目

建立你的项目它将工作魅力:)

  • 此解决方案不能解决问题,只是将其隐藏。 (23认同)
  • 从 Xcode 12 开始,旧版构建系统现已正式弃用:“旧版构建系统已弃用,并将在未来版本中删除。(62742902)”(https://developer.apple.com/documentation/xcode-release) -notes/xcode-12-release-notes) (2认同)

小智 109

试试这个.Xcode-> File-> Project Settings-> Build System - > Legacy Build System.

  • 在这种情况下,Xcode标记了项目中的问题,因此恢复到遗留构建系统将暂时隐藏它.Xcode报告这些问题是有意的,最好解决这个问题. (33认同)
  • 如果错误发生在CocoaPods生成的项目中,那么我将禁用新的Build System,直到新的CocoaPods版本修复了该问题. (2认同)

u2F*_*Fan 64

如果您从Ditto创建多个同名实例(不是'copy files' build phase)的命令中获取此信息,则可能需要更改Product Module Name.

  1. 点击您的目标Xcode正在抱怨
  2. 点击 Build Settings
  3. 搜索 Product Module Name
  4. 将名称更改为唯一的名称

我们的应用程序中有一个监视目标和几个通知目标,所以我只是把它放在Extension模块名称的末尾.

我最初在这里找到了这个解决方案:https://forums.developer.apple.com/thread/103913

  • 我在Xcode 10中遇到了同样的问题.同样的项目在Xcode 9.4.1中运行良好.所以解决方案非常简单.只需从目标中删除所有info.plist文件.请对所有info.plist文件执行此操作.步骤1.选择info.plist文件.2.在"文件检查器"中,取消"目标成员身份"中的项目.然后运行您的项目.谢谢 ! (56认同)
  • 对我来说,我必须转到[Project_Name]> Build Phases> Copy Bundle Resources并删除那里的副本 (12认同)
  • 没工作.我的所有目标都有唯一的名称. (8认同)
  • 在我的情况下,我必须在搜索"产品模块名称"的右侧选择"全部"以使该构建配置显示. (5认同)
  • @Bharath不要从项目中删除info.plist文件.如上所述,您只需要从Target中删除.我们无法删除info.plist,这对项目非常重要. (5认同)

Pos*_*ron 56

我正在尝试核心数据.我为一个简单的清单程序构建了一个数据模型,并生成了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
Run Code Online (Sandbox Code Playgroud)

问题是数据模型(在我的例子中是CheckList.xcdatamodeld)在"编译源"列表中.当我从列表中删除它时,项目编译得很干净.

  1. 打开项目导航器并选择项目(顶部的第一个条目)
  2. 在"项目和目标"窗格中的"目标"下选择您的构建目标
  3. 选择顶部附近的Build Phases选项
  4. 展开"编译源"条目并查找数据模型名称.如果您无法找到它,请搜索"xcdatamodeld".
  5. 从编译列表中删除模型
  6. 确保数据模型包含在"复制包资源"列表中.如果缺少则添加它.

  • xcdatamodeld文件实际上应位于“编译源”中。如果看到与核心数据有关的此错误,则可能是因为您调用了“创建NSManagedObject子类”,但是您已将“实体”设置为Codegen =“类定义”。这意味着它将自动为您创建这些类,并且您手动创建了它们,因此它们存在两次。 (20认同)
  • @Kaunteya 有一个选项可以将每个 CoreData 属性(表)上的 Codegen 设置为“手动” (4认同)
  • 关注@WilliamT。建议,然后清理和构建。 (2认同)

小智 37

在检查构建日志时,我注意到了一个警告:

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')
Run Code Online (Sandbox Code Playgroud)

所以,如果那是你的情况,那么就去你的目标:

  1. 建立阶段
  2. 复制捆绑资源
  3. 删除info.plist.

  • info.plist文件不存在于副本包资源中,仍然会出现相同的错误 (27认同)

小智 35

如果您使用CocoaPods,您可能想尝试解除pod并重新安装.这个对我有用.

pod deintegrate

pod install


小智 29

试试这个工作:

在Xcode中,转到文件 - >项目/工作区设置.

将构建系统更改为Legacy Build系统.

  • 在这种情况下,Xcode在项目中标记了一个问题,因此恢复到旧版构建系统将暂时将其隐藏。Xcode对此类问题的报告是有意为之的,最好解决此问题。有关更多信息,请参阅https://help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0。 (2认同)

Jer*_*ock 21

如果错误消息引用了核心数据文件,请阅读此答案

简介:您可能同时具有自动生成的和手动生成的Core Data管理的对象类文件。

如果错误的第一行引用了Foo + CoreDataProperties.oFoo + 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

可以通过展开“ 编译记录”的“编译Swift源文件”部分来查看根本原因。例如:

<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'

提到的第一个文件在您的项目目录中有一个源文件,该文件是通过在Project Navigator中选择您的数据模型并单击菜单Editor > Create Managed Object Subclass生成的。此功能是在Xcode 7左右添加的。

第二个文件是同名文件,但被埋在Xcode的中DerivedData。如果数据模型()文件包含在目标的“ 编译源”构建阶段中,则此文件将在每次构建过程中由Xcode自动生成。此功能是在Xcode 9左右添加的。根据Codegen弹出窗口的设置,为每个实体/类生成零个,一个或两个文件。当您在编辑数据模型时选择一个实体时,该弹出窗口将显示在Data Model Inspector中.xcdatamodeld

数据模型检查器的屏幕截图

设置为:

  • 手动/无不生成文件
  • 类别/扩展名生成一个文件Foo + CoreDataProperties.m.swift,其中包含一个Objective-C类别或Swift扩展名。
  • 类定义会生成相同的Category / Extension文件,并且还会生成Foo + CoreDataClass.m.swift,其中包含类声明和定义。

因此,您会看到问题,当习惯了旧版Xcode的开发人员(如我)开始在新版Xcode中进行项目时。我们认为我们需要使用创建托管对象子类菜单项来创建我们可以在项目导航器中看到的文件,而又没有意识到我们在Codegen弹出窗口中的设置导致Xcode创建重复文件,Apple “聪明”不会显示在项目导航器中,因为他们不信任开发人员阅读并留意标题中的注释//此文件是自动生成的,不应进行编辑。

解决方案1-使用较旧的方法

您可以仅使用一种设置来禁用数据模型的所有自动Codegen

  • 打开问题目标的构建阶段(在Project Navigator中,选择项目,然后在出现的TARGETS列表中,选择问题目标,然后选择Build Phases)。
  • 展开“ 编译源”条目,然后找到问题数据模型(.xcdatamodeld文件)。
  • 从编译列表中删除
  • 确保数据模型包含在“ 复制捆绑包资源”列表中。

解决方案2-初学者的核心数据魔术

在这里,您将以全新的方式全力以赴。

  • 将数据模型保留在“ 编译源”中
  • 在数据模型中的每个Entity Inspector中,将Codegen设置为Class Definition
  • 在项目浏览器中,删除并丢弃所有Foo + CoreDataClass文件,然后将所有Foo + CoreDataProperties.m.swift文件重命名为Foo + MyProperties之类的文件。
  • 在每个Foo + MyProperties.m.swift文件中,如果存在Xcode生成的属性,请删除这些属性,因为它们将位于Codegen创建的隐藏文件中。

使用此解决方案,您的类定义是从每个构建中的数据模型自动生成的。您甚至看不到它们。它是Core Data Magic,对初学者而言非常好用且简单。

解决方案3-适用于大多数实际应用

但是,如果您真的想添加非托管属性,则解决方案2不好。(Objective-C不允许将属性添加到类别中,Swift不允许将存储的属性添加到扩展中。)因此,在大多数实际应用中,您可能希望在解决方案1和解决方案2之间过渡一半…

  • 将数据模型保留在“ 编译源 ”列表中
  • 在数据模型中的每个Entity Inspector中,将Codegen设置为Category / Extension
  • 在项目浏览器中,删除并丢弃所有Foo + CoreDataClass.m.swift文件,并且为了减少将来的混乱,请将任何Foo + CoreDataProperties.m.swift文件重命名为Foo.m.swift
  • 确保每个Foo.m.swift文件都包含类定义,您可以在其中添加自己的非托管属性。

(对Positron的回答表示感谢。我在这里的回答解释了Positron的答案(我的解决方案1)起作用的原因,并添加了Solution 2和Solution3。)


ful*_*oon 18

在我的情况下,PDFGenerator正在生成一个info.plist文件,我刚删除它.

在此输入图像描述


Che*_*ath 18

此答案已弃用 - XCode 12 已弃用旧版构建系统,它将在后续版本中删除

我正在使用 XCode 11.4 无法构建旧项目

Xcode => File => Project Settings => Build System => Legacy Build System

在此处输入图片说明

在此处输入图片说明


小智 16

我有同样的问题,我在主应用程序中有一个更多的帮助应用程序并在资源中复制它.在我的情况下解决了: -

1)目标 - > 2)构建阶段2)复制文件(n项)3)删除复制文件.

Helper应用程序自动复制到Xcode 10.0中.

在此输入图像描述

  • 复制文件+复制捆绑资源删除帮助。 (2认同)

小智 16

这里提出的解决方案都不适用于我.这特别是由于CocoaPods.我之前使用的是Cocoapods 1.3.1.简单地升级到1.5.3并没有立即解决问题.

我遵循的步骤是:

  1. 删除Podfile.lock
  2. 删除Pods目录
  3. 删除派生数据和清理
  4. 退出Xcode
  5. 将CocoaPods更新为1.5.3
  6. pod install
  7. 打开工作区和构建

  • 将CocoaPods更新为1.5.3(sudo gem install cocoapods)并运行(pod install)足以让它为我工作.谢谢! (5认同)

moh*_*sen 16

有一些原因会导致显示此错误。

\n

1-项目名称与项目上使用的依赖项相同

\n

当您为项目选择的名称与您在项目上使用的依赖项之一相同时,可能会发生此错误,例如,如果您通过 pod 或 SPM 使用它们,则无法选择FirebaseAuthGoogleSignIn作为项目的名称。

\n

要解决此问题,您应该通过以下方式更改项目名称:

\n

project navigator从左侧边栏选择项目,从右侧边栏的file inspector-> Identity and Type->更改项目名称。name

\n

在此输入图像描述

\n

更改后,XCode 会要求您更改所有相关目标,然后按重命名即可。

\n

在此输入图像描述

\n

2 - 复制捆绑资源部分上有重复的 info.plist

\n

当 info.plist 添加到Copy Bundle resources不需要的文件时,您可能会遇到此错误,选择项目表单project navigator-> 选择目标 -> 转到Build Phases选项卡 ->Copy Bundle Resources如果您在那里看到 info.plist,请通过选择 info.plist 将其删除,如下图所示

\n

在此输入图像描述

\n

3 - pod 文件不能正常工作

\n

有时您会收到此错误,因为您使用的依赖项因意外原因而中断。

\n

1 - 删除 Podfile.lock

\n

2 - 删除 Pods 目录

\n

3 - 删除派生数据并清理(您可以从XCode菜单 -> Preferences...-> Locations->找到此目录Derived Data找到该目录,然后单击地址右侧的箭头图标进入该目录)

\n

4 - 退出 Xcode

\n

[sudo] gem install cocoapods5 -在 mac 终端上更新 CocoaPods

\n

6 - 转到终端上的项目目录并运行pod install

\n

7 - 打开工作区并构建

\n

5-重复的核心数据

\n

当你在项目中使用Core data时,你可能会遇到这个问题

\n

首先我解释 coreData codegen 类型:

\n

在此输入图像描述

\n

**类定义:** 当您不需要编辑托管对象子类的属性或功能以及 Core Data 为您生成的属性文件时,请选择“类定义”。

\n

类别/扩展:选择类别/扩展可在托管对象子类中添加其他便利方法或业务逻辑。

\n

手动/无:选择“手动/无”可编辑托管对象子类中的属性,例如,更改访问修饰符以及添加其他便利方法或业务逻辑。

\n

选择Manual/None并检查 上是否存在 xcmod​​eldata 的副本CopyBundleRecources,将其删除。

\n

在此输入图像描述

\n


Has*_*ved 14

解决方案 1:
在 Xcode 中,转到 File ? 项目/工作区设置。
? 将构建系统更改为Legacy Build system

解决方案2:
打开目标?构建阶段 ? 复制捆绑资源?从那里删除info.plist。? 您也必须从扩展中删除 plist(如果有)。

解决方案 3:
如果您使用 CocoaPods,您可能需要尝试分解Pod 并重新安装。命令:

1) pod deintegrate
2) pod install
Run Code Online (Sandbox Code Playgroud)


gus*_*ong 14

嗯,就我而言:

如果创建两个同名的文件,将会触发此错误。删除您最近添加的一个,即可解决此问题。

希望这可以帮助。


Mar*_*did 13

不幸的是,这些答案都不适合我......这是我看到的错误:

“多个命令生成 '/Users/.../.../.../Frameworks/abcdef.framework”

  1. 该命令取决于命令...:脚本阶段“”
  2. 该命令取决于命令...:脚本阶段“”

将此行添加到 Podfile 并执行“Pod Install”是唯一有效的方法。

install! 'cocoapods', :disable_input_output_paths => true
Run Code Online (Sandbox Code Playgroud)

我真的希望这对某人有帮助。我花了几个小时试图解决这个问题并终于得到了它。

有时我只是希望 Xcode 能像 IntelliJ / Android Studio 一样高效:(

祝你好运!


Dam*_*amo 12

在向应用程序添加 Fabric 套件 SDK 的第二部分后,我出现了这个问题。

实际发生的事情是在 Pods 项目中两次添加了 GoogleUtilies Framework

GoogleUtilities.framework 的两个条目

这在 Xcode 10 之前是可以的,但是 Xcode 10 会抱怨如果一个文件有两个针对它的操作(在这种情况下是一个复制操作)。

删除第二个框架是安全的。


Sho*_*wan 11

尝试所有这个选项,这3个选项中的任何一个都可以为你工作,当然

Option 1: Remove all files from
Run Code Online (Sandbox Code Playgroud)

目标>>构建阶段>>编译源

目标>>构建阶段>>复制捆绑资源

Option 2: Change the build system
Run Code Online (Sandbox Code Playgroud)

Xcode-> File-> Project Settings-> Build System - > Legacy Build System

Option 3: remove and update existing pod
Run Code Online (Sandbox Code Playgroud)

pod cache clean PromisesObjC
pod cache clean PromisesSwift
cd [your_project_dir]
rm -rf Pods/
rm Podfile.lock
pod update

I hope this will help you, Happy coding :-)
Run Code Online (Sandbox Code Playgroud)

  • -1。不,它“肯定”不起作用。删除编译源和复制捆绑资源有什么意义?!如果不编译代码和资源,项目将无法运行。 (2认同)

pal*_*lmi 10

在开始之前请注意我的项目使用Carthage作为依赖管理器.

这里现有的答案都没有解决我的问题.为我解决问题的是以下内容.

首先,我注意到构建错误特别指出了一个框架.接下来,我为该框架过滤了App Target> Build Phases.我注意到该框架存在于"Link Binary With Libraries"和"Embed Frameworks"中.注意到"嵌入框架"下列出的框架都不是迦太基管理的框架,我从"嵌入框架"中删除了有问题的框架.然后,我重新构建了我的项目,一切正常,包括相关框架启用的功能.


小智 10

脚步:

  1. 转到Xcode文件
  2. 单击"工作台设置"
  3. 构建系统选择为旧版构建系统

  • 在这种情况下,Xcode标记了项目中的问题,因此恢复到遗留构建系统将暂时隐藏它.Xcode报告这些问题是有意的,最好解决这个问题.有关详细信息,请参阅https://help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0. (2认同)

Asa*_*hry 10

解决我的问题的一种方法是将构建系统更改为旧版构建系统。请按照Xcode 10+中的以下步骤进行操作 在此处输入图片说明

在此处输入图片说明

  • 这个答案一手解决了我在使用 React Native 的 Xcode 中遇到的 12 个问题。谢谢你! (2认同)

Anu*_*aji 10

我是 IOS 开发的新手,我尝试了上述答案,但它们对我不起作用。

\n

我的 XCode 版本是 12.4,Swift 5

\n

我在构建时遇到Multiple commands produce错误

\n

我尝试从错误列表中展开错误,但双击它没有任何反应,所以首先我很难知道完整的错误。

\n

所以我右键单击错误并将其复制到剪贴板,然后将其粘贴到文本编辑器中。

\n

它显示了完整的错误

\n

说的是哪个部分有问题

\n
Multiple commands produce '/Users/userName/Library/Developer/Xcode/DerivedData/ProjectName-fbeqffupediuiedlrplqjyhgyqna/Build/Products/Production-iphoneos/XCFrameworkIntermediates/GoogleAppMeasurement':\n1) That command depends on command in Target 'GoogleAppMeasurement-iOS12.3' (project 'Pods'): script phase \xe2\x80\x9c[CP] Copy XCFrameworks\xe2\x80\x9d\n2) That command depends on command in Target 'GoogleAppMeasurement-iOS14.1' (project 'Pods'): script phase \xe2\x80\x9c[CP] Copy XCFrameworks\xe2\x80\x9d\n\n
Run Code Online (Sandbox Code Playgroud)\n

(我正在使用 Google Firebase)

\n

我很惊讶地发现 Pod 是针对 2 个不同版本的 iOS(12.3 和 14.1)进行编译的

\n

我发现,在活动目标配置中,我在 部分中设置了 iOS 12.3 ,并在项目级别选项卡中Deployment Info设置了 14.1Deployment TargetInfo

\n

将两者设置为相同的所需版本,然后清理并构建解决了问题。

\n

如果设置两个不同的版本是错误的,请告诉我。如果这不是一个错误,那么该怎么做,请记住以下几点:

\n
    \n
  • 我不允许将构建系统设置为旧版
  • \n
  • info.plistCopy Bundle Resources相中不存在
  • \n
\n


Mah*_*aji 10

就我而言,我遇到了有关重复输出文件的错误Info.plist

warning: duplicate output file


/Users/mahdifaraji/Desktop/boilerplate/ios/boilerplate.xcodeproj: warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/mahdifaraji/Desktop/boilerplate/ios/boilerplate/Info.plist'. (in target 'boilerplate' from project 'boilerplate')
warning: duplicate output file '/Users/mahdifaraji/Library/Developer/Xcode/DerivedData/boilerplate-fpkyeiljiiuxbidceadasmpsntah/Build/Products/Debug-iphonesimulator/boilerplate.app/Info.plist' on task: ProcessInfoPlistFile /Users/mahdifaraji/Library/Developer/Xcode/DerivedData/boilerplate-fpkyeiljiiuxbidceadasmpsntah/Build/Products/Debug-iphonesimulator/boilerplate.app/Info.plist /Users/mahdifaraji/Desktop/boilerplate/ios/boilerplate/Info.plist (in target 'boilerplate' from project 'boilerplate')

** BUILD FAILED **
Run Code Online (Sandbox Code Playgroud)

我通过将其删除来解决了这个问题Project -> Target -> BuildPhases -> Copy Bundle Resources


Bha*_*awa 10

我面临着同样的问题Xcode 14.2

  • 错误说

多个命令生成 '/Users/bhaveshparmar/Library/Developer/Xcode/DerivedData/App-cgedsyimmqlucmcodsrdnwzllkat/Build/Intermediates.noindex/App.build/development-iphonesimulator/App.build/Objects-normal/x86_64/ThemeLabel.stringsdata'

这是因为我的源代码包含2个同名文件ThemeLabel,所以删除了一个ThemeLabel并解决了问题。

在此输入图像描述


Aus*_*tin 9

所以我遇到的问题是我不小心将Info.plist包含在项目设置中 - > Build Phases - > Copy Bundle Resources for my target.


Lan*_*ria 9

我的错误是:

重复输出文件

'/Users/home/Library/Developer/Xcode/DerivedData/myAppName-fawptgabysjowicvpeqydjniuovo/Build/Products/Debug-iphoneos/myAppName.app/ GoogleMaps.bundle ' on task: PhaseScriptExecution [CP] Copy Pods Resources /Users/home/Library /Developer/Xcode/DerivedData/myAppName-fawptgabysjowicvpeqydjniuovo/Build/Intermediates.noindex/myAppName.build/Debug-iphoneos/myAppName.build/Script-32CCC25BF727B592A1784900.sh

我专注于问题文件GoogleMaps.bundle和该文件所在的位置[CP] Copy Pods Resources,以及它指定它是重复的这一事实output file(我在上面用黑色突出显示了它们),这是下面的第 4 步

首先创建项目的副本,并确保首先对该副本执行以下步骤

1- 在项目导航器中,我转到了蓝色的项目图标

在此处输入图片说明

2-我选择构建阶段

在此处输入图片说明

3-在我选择的构建阶段下 [CP] Copy Pods Resources

在此处输入图片说明

4- 在[CP] Copy Pods ResourcesIOutput Files下,我找到了以GoogleMaps.bundle. 我选择了它并按减号将其删除。确保您转到输出文件而不是输入文件

在此处输入图片说明

5-我做了一个清理shift+cmmd+k,然后当我构建项目时错误消失了

奇怪的是,即使红色错误走了黄色预警仍然存在,但它的工作:)


小智 8

我有很多Multiple commands produce警告 - 不仅限于一个目标中的info.plist重复.包括本地化资源和字符串文件,标题等.

解决方案:删除目标成员中的所有重复项.


Adi*_*rma 7

进入项目构建阶段,然后从“编译源”中删除info.plist。它将消除该问题,项目将再次处于活动状态。

在此处输入图片说明

  • 感谢您的解决方案。我的问题出在“构建阶段”的“复制捆绑资源”部分,我从那里删除了“info.plist”,问题得到了解决。 (2认同)

Rae*_*ime 7

我使用Carthage和Xcode 10。

我的解决方案是->项目->目标->常规->

从“嵌入式二进制文件”中删除随迦太基添加的框架

通常,您必须在“构建阶段”中添加脚本以剥离应用商店的体系结构。

在Xcode 10中,脚本似乎总是被调用。因此,它将框架复制到正确的位置,而不必将它们添加到“常规”选项卡。

注意:如果未设置->构建设置->搜索路径->框架搜索路径->设置到Carthage ....中添加的框架的路径。“ $(PROJECT_DIR)/ Carthage / Build / iOS”


Kun*_*ies 7

error: Multiple commands produce '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings':
1) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-demo-master/TildeskWidget/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'
2) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-sdk-master 2/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'
Run Code Online (Sandbox Code Playgroud)

可以有 2 种不同的解决方案来摆脱这个问题:

解决方案1

正如我们所看到的,我遇到了同样的错误。在我的情况下,TildeskWidget文件夹中有一个文件夹Chat21Core的额外副本。尝试查找是否有从项目中引用的任何额外副本。

解决方案2

当我为不同的项目遇到相同类型的问题时,我发现了另一个简单的解决方案。这次我不得不应用不同的解决方案。

  • pod deintegrate 从项目。
  • 从项目文件夹中删除工作区文件和 pod.lock 文件。
  • 再次pod install 尝试构建项目。

希望这可能对你有用..


Lir*_*rik 7

我的问题是Product Module Name我创建的操作扩展和主要目标的重复。解决方案是更改扩展的产品模块名称(在构建设置下)。

(XCode 11)


And*_*Lee 7

如果您手动创建实体的 CoreDataClass 和 CoreDataProperties,请确保转到 xcdatamodel 并将检查器选项卡中的 Codegen 设置为“Manual/None”。如果将其设置为“类定义”,Xcode 将自动为您创建一个重复的类。


Cha*_*ish 6

当我在两个不同的目标中有一个同名文件时,我遇到了这个问题.出于某种原因,我有两个目标的一部分文件.所以基本上我有两个文件.这两个文件都属于一个目标.

有意义的是,目标每个目标只能有一个文件名,因此只需取消选中与主目标无关的文件的目标成员框就可以解决问题.


roy*_*roy 6

搜索删除由多个命令生成的重复文件。

在这里,Info.plist应该删除一个额外的文件(在我的情况下是Contents.json

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
Run Code Online (Sandbox Code Playgroud)


Sam*_*apa 6

我的问题是在Mojave中运行Xcode 10,并试图运行在更新到XCode 10之前编写的单元测试。

就我而言,在运行TestTarget目标时遇到了这个问题。要解决,我必须:

  • 删除目标依赖项之一(在中TestTarget > build phases > Target Dependencies

因为除了我之外还有其他两个目标,而且两个目标TestTarget都在同一点运行相同的脚本并创建/复制文件。

这相冲突以什么中提到的Xcode的10构建系统发行说明 在这里

由多个构建命令生成的构建中的任何单个文件都是错误的。例如,如果两个目标各自在Shell脚本阶段中声明了相同的输出文件,则将输出文件的声明分解为一个目标。

从Xcode 10.1更新到10.2后的新UPDATE

更新到Xcode 10.2后,再次出现类似的问题。按项目我有多个目标:Target1Target2,我通过以下方法解决了这个问题:

  • 导航到Edit Scheme > Build
  • 从构建中删除目标之一:取消选中Target1under 的复选框,Test因为我知道已Target2导入Target1

在此还要注意Target2的是,“Test


小智 6

就我而言,我GoogleService-Info.plist两次失望地向我的 Firebase 项目添加了文件。

我删除了第一个添加的内容GoogleService-Info.plist并解决了问题。


Rei*_*avi 6

删除该死的资产文件

解决方案 -> 打开目标 -> 构建阶段 > 复制捆绑资源并从中删除资产。


Igo*_*uta 5

发生了类似的问题,但带有.swiftdoc文件。

我在项目中有扩展和单元测试目标。并且它们具有与应用程序相同的“产品模块名称”(在“构建设置”中为PRODUCT_MODULE_NAME)。使名字唯一问题消失之后。


Noo*_*oor 5

转移到Xcode 10,错误就像

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':
Run Code Online (Sandbox Code Playgroud)

可以解决如下:

去吧Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System.

  • 在这种情况下,Xcode 正在标记项目中的问题,因此恢复到遗留构建系统将暂时隐藏它。Xcode 对此类问题的报告是有意为之,最好解决该问题。有关更多信息,请参阅 https://help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0。 (4认同)

Gaj*_*han 5

这是另一个可行的解决方案:(如果您使用的是Pods)

  • 从侧边栏中选择“窗格”作为屏幕快照中的突出显示。
  • 单击构建阶段。展开“标题”部分。有3个选项,公共,私人,项目
  • 展开公共并检查是否有重复的文件。去掉它。完成了!

在此处输入图片说明


cod*_*tte 5

这基本上意味着您有多个名为Info.plist;的文件;通常没关系,但是您的文件偶然设置为相同的目标成员身份。因此,解决方法是:单击每个文件,然后在右侧检查其目标成员身份,确保它们没有重叠。


Mar*_*ekR 5

选择您的方案(左上角)->编辑方案...->构建(左标签)->取消选中“查找隐式依赖项”

在此处输入图片说明

之后,您可能需要修复目标未明确导入的所有依赖项。


nin*_*eer 5

我的一个CocoaPods不满意并引起了问题。豆荚是否进行了更新,并且工作正常。

我相信可能是LivePerson SDK


Sen*_*nKe 5

就我而言,构建存档错误与 Xcode10

-1:多个命令产生 '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_app/IntermediateBuildFilesPath/UninstalledProducts1yoga)' ' 有一个输出命令 '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_app/IntermediateBuildFilesPath/UninstalledProducts/gaphones'有一个输出'/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_app/IntermediateBuildFilesPath/UninstalledProducts/iphonealib'的命令

您的 Podfile 中应该有类似下面的内容

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "React"
      target.remove_from_project
    end

    if target.name == "yoga"
      target.remove_from_project
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

然后运行 pod install


Aur*_*a W 5

值得注意的是,在Codegen未设置为Manual / None的情况下自动生成CoreData模型后,可能会产生此错误。

要在Xcode 10中更正此问题,请双击xcdatamodeId文件并选择每个实体,然后在数据模型检查器的“类”下将Codegen设置为Manual / None。


Muh*_*ooq 5

This answer for you if you are facing problem in core data. Go to yourfilename.xcdatamodeld and make sure all the entities have manual/None Codegen. 在此处输入图片说明


Ali*_*i80 5

不要启用遗留构建,你只是隐藏了问题

GoogleService-Info.plist我的项目中有 2 个。必须删除旧的并删除其条目Build Phases >> Copy Bundle Resources 在此输入图像描述


Fat*_*tie 5

最常见、最简单的问题:

您的资产文件夹有两个不同的图像,它们恰好具有相同的名称。

这在资产中很容易发生:

- assets
- - photos of cars
- - - ford
- - - - mustang.jpg
- - - - truck.jpg
- - - chevy
- - - - truck.jpg
Run Code Online (Sandbox Code Playgroud)

两个“卡车.jpg”

只需重命名一个即可。

  • 谢谢你!就连 ChatGPT 也无法弄清楚这一点。 (2认同)

归档时间:

查看次数:

274134 次

最近记录:

6 年 前