要禁用编译器警告,请转到项目 - > 目标 - > 构建设置并添加标记
-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: '匹配器'不推荐使用:改为使用谓词
我做错了什么以及如何摆脱对我没有影响的外部图书馆的警告?
答案 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。