Build fails with “Command failed with a nonzero exit code”
当我尝试使用Xcode构建我的应用程序时,错误会中断构建过程:
Command
CompileStoryboard failed with a nonzero exit code
有时,它会显示此错误:
Command
CompileSwift failed with a nonzero exit code
我打开了新建系统。
我该怎么做才能解决这个问题?
当编译器处于"重要"的中间时停止构建项目时,可能会出现此错误。在这种情况下,再次构建项目并让它正常完成会使此错误消失。
为我关闭Xcode没有效果。相反,我使用CommandShiftK清理了项目。
我还发现了另一个原因:我有一个故事板参考我删除的另一个故事板。快速解决方法是删除它。
这是Swift 4.2和Xcode 10的一个已知问题。我在这里发现了一篇针对我的文章:https://github.com/Yummypets/YPImagePicker/issues/236
简而言之,转到项目构建设置,并添加名为SWIFT_ENABLE_BATCH_MODE的用户定义设置,并将其值设置为NO。
以前,我尝试了这里建议的每个方法(重建,退出Xcode,清理和重建,清除派生数据文件)。他们都没有工作。
一旦我根据文章添加了用户定义构建设置,Swift就告诉我真正的错误。在我的情况下,它是一个缺失},但它可能是任何数量的问题。
我也在xcode 10中面临同样的问题并尝试了所提供的所有解决方案,但没有任何效果。
然后我删除了以下文件夹的所有文件和文件夹:
1 | /Users/meenakrishna/Library/Developer/Xcode/DerivedData |
它就像一个魅力。
当我忘记在创建NSManagedObject子类之前更改实体属性时,发生了这个错误。解决方法:
如果您有多个目标,其中两个或多个目标具有相同名称的文件,请在"文件"检查器中检查这些文件的目标成员身份。当同名文件的多个实例为同一目标设置目标成员资格时,会发生此错误。
我有错误
您可能没有与我完全相同的错误,但找到更详细的错误解释的简单方法是:
- 显示问题导航器(显示构建时错误)
-
单击错误:
-
然后,您应该看到有关您的错误的更多信息:
我希望这有帮助。拜托,我知道我正在回答一个与此问题有关的不同错误的经验,但我相信这个建议可以帮助你克服类似的问题!
切换到遗留构建系统为我解决了问题
在我的情况下,我是干净的构建文件夹,然后重新启动我的mac然后它的工作。
命令CompileSwift失败,出现非零退出代码
将代码从Xcode 9迁移到Xcode 10+时会发生此错误。它由于任何类名与现有的Apple类冲突。例如:州,事件等
所以首先更改类/结构名称,如果代码中存在任何类型,如"State"到"StateDetail"
如果在目标中添加了Info.plist,请从中删除刻度标记,以便它不会复制应用程序包(最新的Xcode10安全原因)。
- 选择Info.plist文件并取消选中右侧身份检查器中的"目标成员身份"
并再次构建代码!
就我而言,我在类扩展中使用了太复杂的初始化。它突然打破了我的身材。
1 2 3 4 | class MyClass { } extension MyClass { static var var1 ="", var2 ="", var3 ="", var4 ="", ...., var20 ="" } |
解决:
1 2 3 4 5 6 7 8 | class MyClass { } extension MyClass { static var var1 ="", static var var2 ="", static var var3 ="" static var var4 ="", ...., static var var20 ="" } |
在我的情况下,它是空资产目录,当我删除它一切都很好。
由于这个问题看起来有很多可能的解决方案,而且根本原因可能非常模糊,我会把我的情况抛到脑袋里。我的一半豆荚因某种
当我将项目从Swift 4升级到5时,我遇到了这个错误。
我首先将我的所有pod更新为最新版本。当我构建时,一些pod显示了这个错误。
以下步骤为我解决了这个问题:
CocoaPods了
(在我的情况下SlideMenuControllerSwift)被设置为Swift 5.0,造成了
许多代码中都存在错误。我把它纠正回Swift 4.0
打开Pods项目并选择其目标。
现在我在我自己的项目代码中只有错误与我制作的Swift版本的差异有关。我现在的工作是解决它们。
在我的例子中,问题是我为故事板中的viewController分配了一个.swift类,而项目是Objective C.
我安装了
应使用appicon等相关数据指定目标
我有这样的问题,我的解决方案是在Build Settings中改变一点:
1 2 | SWIFT_COMPILATION_MODE = singlefile; SWIFT_OPTIMIZATION_LEVEL ="-O"; |
它对我有用
对我来说问题是在我的Podfile上我没有放
由于该应用程序完全基于Objective-C,因此进行了评论。由于应用程序现在使用Swift,我必须在Podfile上进行更改
我有同样的错误重新启动Xcode和重新编译为我修复了这个问题。
在我的情况下,它错误地将文件重命名为其他文件夹(组)中的现有文件,只是将其重命名为它,然后错误消失
如果您在新的MacOS版本上遇到类似错误。
xcrun:错误:无效的活动开发人员路径(/ Library / Developer / CommandLineTools),缺少xcrun:/ Library / Developer / CommandLineTools / usr / bin / xcrun
这意味着您需要安装XCode命令行,打开终端并运行此命令:
我尝试了很多这里讨论的选项。
- 删除并重新安装pod
- 清理构建文件夹
- 删除派生数据
- 添加SWIFT_ENABLE_BATCH_MODE并将其值设置为NO
- 重新启动Xcode并重新编译
- 重新启动iMac并重新编译
- 将编译模式设置为增量
- 更改了构建设置:SWIFT_COMPILATION_MODE = singlefile和SWIFT_OPTIMIZATION_LEVEL =" - O"
没有任何效果。我正在使用Xcode版本11.0 beta(11M336w)。
最后我下载了一份新的副本并替换了我之前安装的副本。这是完全相同的版本。这就是诀窍。
对我有帮助的是为
好吧,我遇到了与Xcode 10相同的问题。我通常会为每个视图使用故事板,这样如果有人帮助它更容易折叠代码。我需要在一个故事板上创建一个视图初始视图Controller。
导致这些错误的原因(我的一些cocoapods得到了8+)正在解决所有pod中的任何运行时构建问题。
在我的例子中,它是关于有一个名为Location的文件。经过一番挖掘后,我发现它有两个同名的文件(很奇怪)。因为我不这样做,它已经通过删除文件并添加另一个具有不同名称的文件来解决。
1 | filenames are used to distinguish private declarations with the same name |
我遇到过类似的问题。我已经做好了
- 干净的项目 - 没有用
- 删除派生数据文件夹 - 不起作用
-
将构建系统更改为
Legacy Build Settings - 不起作用 - 重启XCode - 没有用
-
评论我的一些代码,.h文件中的
typedef NS_ENUM 和枚举相关的作品。构建系统并显示成功。接下来取消注释代码并重新构建 - 神奇地工作
尝试在子模块中运行单元测试时出现此错误。我所做的是
更改模拟器=>清理项目=>构建项目=>运行单元测试。
在此之后,我的单元测试运行没有任何问题。
链接单独的故事板时我得到了同样的错误。错误,"Command CompileSwiftSources失败并返回非零退出代码。"显示是因为我只是忘了将视图控制器设置在我链接的第二个故事板中作为"初始视图控制器"。
就我而言,一条消息如下所示。
Command CompileSwiftSources failed with a nonzero exit code.
我更改了工具链Xcode-> Toolchain-> Xcode 10.1
这是在我更新到Xcode10.1之后发生的。
我希望它能奏效。
我还附上了一个关于管理工具链的更多链接。
转到项目构建设置,并添加名为