在Xcode中,如何抑制特定源文件中的所有警告?


137

在我的应用程序中,我使用触发一些警告的第三方代码。我检查了它们,可以放心地忽略它们。

现在,我想以某种方式“标记”文件,因此Xcode不会对该文件中的代码显示任何警告。

我该怎么办?

Answers:


277

选择目标并显示构建阶段。然后在搜索框中输入文件名,您应该会在“编译源”阶段中看到该文件。双击该文件的“编译器标志”列,然后输入-w以关闭该文件的所有警告。


9
嗯,我希望-w关闭所有警告,但是也许新的编译器没有注意这一点。在这种情况下,请关闭各个警告。在“构建设置”中找到有问题的警告,并在“实用工具”视图中显示“快速帮助”。您应该看到带有-Wname-of-warning语法的描述。名称前面加上“ no-”,并在编译器标志中指定该名称。范例:关闭-Wunused-parameter指定功能-Wno-unused-parameter
乔恩·里德

14
事实证明,所有这些都是依赖于编译器的。我的意思是,在使用LLVM GCC编译器的一个项目中可以-w做到这一点,而在使用纯GCC编译器的其他项目中-Wno-name-of-warning则是唯一的选择。
Bobrovsky

6
感谢您的提示,它也为我(-w和LLVM)工作。当您包含不需要修改的第三方文件时,它非常方便。
user826955 2012年

1
@Zammbi由于代码是自动生成的,请对其进行修复以生成没有警告的代码。如果无法执行此操作,请自动修补Xcode项目以设置编译器标志。
乔恩·里德

11
不适用于使用Xcode 7.0和Apple LLVM 7.0的Swift 2
King-Wizard

6

在左侧导航器中选择项目,然后选择目标转到构建阶段,然后将-w置于目标文件的构建阶段。它将隐藏所有编译器警告 在此处输入图片说明


17
不适用于使用Xcode 7.0和Apple LLVM 7.0的Swift 2
King-Wizard

2
将clang编译器标志传递给外部编译器不起作用。quelle惊喜...谷歌迅速编译器的警告标志,并添加它。
jheriko

4

这适用于Xcode 10.2+和Swift 5

手动修复:

-w -Xanalyzer -analyzer-disable-all-checks从Xcode>项目>目标>编译源>双击要在其中关闭警告的文件,将其添加到有问题的文件中。

椰子足修复:

如果您想抑制来自有问题的pod的警告,则inhibit_warnings可以使用podfile中的标志自动从依赖项中抑制所有警告:

pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true

在此处输入图片说明


cocoapods修复效果不错,谢谢!
6
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.