Xcode关闭Continue Build After Errors后仍返回多个错误是什么原因
Xcode关闭「Continue Build After Errors」仍返回多个错误的原因解释
1. 对开关作用的常见误解澄清
「Continue Build After Errors」控制的是整个项目构建任务的调度逻辑,而非单个源文件编译时的错误上报数量:
- 开关关闭时,Xcode仅会在某一个构建子任务(如某源文件编译失败、某依赖Target构建失败)返回失败结果后,终止调度后续还未启动的其他构建子任务,不会强行终止正在运行中的编译任务
- 单个源文件的编译过程由编译器(Swift/Clang)自行控制,编译器默认会尽可能解析完当前文件所有可解析的代码块,一次性上报所有识别到的语法、类型错误,不会遇到第一个错误就终止解析
2. 当前场景的报错逻辑
你提供的代码中存在两处独立的类型不匹配错误:
class Toto { var str: [NSMutableString] = [] func toto() { str.append(NSString(string: "dded")) // 错误:传入NSString类型,参数要求为NSMutableString str.append(NSString(string: "dded")) // 错误:同上,为独立的第二处错误 } }
这两处错误都在同一个源文件内,Swift编译器解析该文件时会同时识别到两处错误并全部返回,和构建层面的开关没有关联。
3. 相关猜测的验证结果
- 该开关并非仅对多框架/多Target场景生效:单Target场景下,如果你有多个源文件,关闭开关后第一个源文件编译失败,Xcode不会继续编译剩余源文件,你只会看到第一个源文件内的所有错误,不会看到后续文件的错误。
- 该开关并非仅对Objective-C生效:Swift和Objective-C的行为完全一致,单文件内的多个错误都会由编译器一次性上报,不受该开关控制。
内容的提问来源于stack exchange,提问作者Blazej SLEBODA
相关产品推荐
相关产品推荐

