2011-11-03 70 views
54

我已经将three20项目导入到我的项目中,当我升级到iOS 5的Xcode 4.2时,项目中出现了一堆警告。从框架禁用Xcode中的警告

我不在乎它们,但它们会产生很多噪音,现在很容易错过我的项目中的任何实际警告。有没有办法禁用这些特定库的警告?

回答

138
  1. 如果您的第三方库将作为一个单独的目标,你可以检查Inhibit all warnings针对特定目标把所有的警告了。

  2. 如果您的库作为普通源文件添加到当前目标中,则可以设置-w编译器标志,以便各个源静默其中的所有警告。你必须去你的目标配置的Build phases菜单,并通过双击每个文件末尾输入-w标志来为Compile Sources节中的每个源文件设置该标志。 enter image description here

+12

这绝对是正确的做法。不要修改第三方代码,也不要全局关闭警告。另一种类似的方法是将第三方代码移入单独的项目并构建一个静态库。这样它可以有自己的构建设置。 –

+1

每隔一段时间,我都会想出一个答案,我希望我能够至少上几次。这是其中的一次。 –

+0

[本文](http://adoptioncurve.net/archives/2013/02/selectively-disabling-warnings-with-xcode-compiler-flags/)给出了关于单个文件标志的一些额外的细节。他们建议使用'-w -Xanalyzer -analyzer-disable-checker' – KPM

3

如果使用的是豆荚,您可以添加到您的podfile防止警告日志:

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = "YES" 
    end 
    end 
end