生成错误Xcode 10-产生多个命令

时间:2018-09-19 01:18:35

标签: ios swift xcode

我刚升级到Xcode 10,当我尝试构建时突然遇到此错误,有什么办法解决它吗?我尝试清除派生数据,但没有任何运气。

enter image description here

6 个答案:

答案 0 :(得分:24)

如果您使用CocoaPods,请单击Xco​​de菜单file-> Workspace Settings,然后单击Build system选择Legacy Build System

https://i.stack.imgur.com/FqiID.png

如果您不使用CocoaPods,请选择Project Settings

答案 1 :(得分:3)

您可以尝试将构建系统更改为旧版, 文件>工作区设置>生成系统>旧版生成系统。

答案 2 :(得分:1)

我在xcode 10中也遇到了这个问题,但这是由于在主项目中添加了相同的框架以及其他扩展(watchkit或siri扩展等)。 我在ObjectMapper中为自己的主要项目+扩展名添加了podfile。当我编译时,它给了我一个multiple command produce的错误,并且还向我显示了导致此问题的框架。现在,将其从扩展程序中删除时,对我来说工作正常,我没有在扩展程序中使用它。

不知道您的问题,可能是您可以检查自己的Podfile。

答案 3 :(得分:1)

如果您的应用正在生成与多个.app文件相关的错误(如上述),请从“复制捆绑包资源”中删除.plist个文件,将不起作用。

如果错误与.app文件有关,则请执行以下步骤。

  1. 选择目标。

  2. 转到Build Phases标签。

  3. 删除Output Files中列出的项目
  4. 如果代码编译成功,则编译该代码,然后不执行后续步骤。
  5. 如果代码无法成功编译,并且Xcode可能会给您与“找不到库”相关的错误。然后在Xcode在错误中提到的General的{​​{1}}标签中添加缺少的库。
  6. 继续在Linked Frameworks and Libraries中添加这些库(Xcode通过编译错误询问这些库),直到代码成功编译为止。

    希望这会有所帮助。

答案 4 :(得分:1)

如果这与 CoreData 相关。问题是您正在尝试生成 NSManagedObject 子类,但您需要将“CodeGen”选项设置为手动/无。此选项默认为类定义,这会重新生成代码,从而产生此问题。

答案 5 :(得分:-1)

在使用CoreData时,我也遇到了此问题。

在我的.xcdatamodeld文件中,可以归结为以下事实:在创建各种实体期间,我多次复制并粘贴了一次(以为我在节省时间,因为各种属性足够相似,以至于我认为这是一个好主意)。

产生的生成错误Xcode 10-发生“多个命令产生”,因为我忘记检查并确保将新实体设置为它们自己的唯一对应类以匹配“数据模型检查器”窗格中的新实体。

不幸的是,我花了两天时间才知道原来的实体的类名仍然存在。

这课:在CoreData中复制/粘贴/复制实体时要格外小心。 (...我猜:0})

省时。哎呀!希望这对某人有帮助。