Xcode:禁止所有外部库的所有警告

时间:2017-09-25 19:23:58

标签: swift xcode swift3 xcode8

要禁用编译器警告,请转到项目 - > 目标 - > 构建设置并添加标记

-w

用于特定文件。此标志禁用文件的所有警告。

但有时此标志不起作用

例如,当我运行测试时,我收到外部库Nimble的警告(所有这些我用标志-w标记的文件):

  

... /荚/敏捷/来源/敏捷/匹配器/ MatcherProtocols.swift:15:11:   '匹配器'不推荐使用:改为使用谓词   ... /荚/敏捷/来源/敏捷/匹配器/ Predicate.swift:170:22:   '匹配器'不推荐使用:改为使用谓词   ... / Pods / Nimble / Sources / Nimble / Matchers / AllPass.swift:22:27:' Matcher'   不推荐使用:改为使用谓词   ... / Pods / Nimble / Sources / Nimble / Matchers / AllPass.swift:76:21:变量   '发电机'从未发生变异;考虑改为“让”#39;不变   ... /荚/敏捷/来源/敏捷/匹配器/ AsyncMatcherWrapper.swift:41:14:   '匹配器'不推荐使用:改为使用谓词

我做错了什么以及如何摆脱对我没有影响的外部图书馆的警告?

2 个答案:

答案 0 :(得分:12)

快速修复

我发现你正在使用 cocoapods 。 每次运行pod install时,Cocoapod都会重写您的配置。因此,您需要在podfile中添加此行,以忽略所有警告针对特定广告连播的警告

# example to ignore all warnings from all pods
inhibit_all_warnings!

# example to ignore warnings from a specific pod
pod 'Alamofire', :inhibit_warnings => true

注意:有时很高兴看到你的警告和你的吊舱警告,所以你可以在将来防止出现问题。

答案 1 :(得分:2)

根据您问题中的日志,我在您的项目中看到cocoapods。只需将inhibit_all_warnings!标记添加到podfile,此标记将隐藏使用cocoapods安装的第三方库的编译警告。

有关使用inhibit_all_warnings!标志的详细说明,请参阅alloy's answer