如何抑制 Swift 3 中的警告?
How to suppress warnings in Swift 3?
使用 clang* 我可以做到
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// ...
#pragma clang diagnostic pop
但是这在 swift 中不起作用。
那么如何在 Swift 中抑制警告?
编辑:以下说明用于 "deprecated declarations" 警告。如果你想抑制不同的警告,那么你应该使用与警告相关的标志。你们中的大多数人可能使用 Clang,并且可以找到它的警告标志 here。所以如果你想抑制例如 -Wunused-argument
你会写成 "no": -Wnounused-argument
.
如果您想禁用编译器警告,请转到 Project -> Target -> Build Settings 并将带有 no 前缀的标志添加到其他警告标志:
如果您想禁用单独文件的警告:
转到 Project 并选择相关的 Target -> Build Phases -> Compile Sources 并标记单独的文件:
这适用于 Xcode 10.2+ 和 Swift 5
手动修复:
从 Xcode > Project > Targets > Compile Sources > 双击要关闭警告的文件,将 -w -Xanalyzer -analyzer-disable-all-checks
添加到有问题的文件。
Cocoapods 修复:
如果您试图抑制来自有问题的 pod 的警告,您可以使用 pod 文件中的 inhibit_warnings
标志自动抑制来自依赖项的所有警告:
pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true
使用 clang* 我可以做到
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// ...
#pragma clang diagnostic pop
但是这在 swift 中不起作用。
那么如何在 Swift 中抑制警告?
编辑:以下说明用于 "deprecated declarations" 警告。如果你想抑制不同的警告,那么你应该使用与警告相关的标志。你们中的大多数人可能使用 Clang,并且可以找到它的警告标志 here。所以如果你想抑制例如 -Wunused-argument
你会写成 "no": -Wnounused-argument
.
如果您想禁用编译器警告,请转到 Project -> Target -> Build Settings 并将带有 no 前缀的标志添加到其他警告标志:
如果您想禁用单独文件的警告: 转到 Project 并选择相关的 Target -> Build Phases -> Compile Sources 并标记单独的文件:
这适用于 Xcode 10.2+ 和 Swift 5
手动修复:
从 Xcode > Project > Targets > Compile Sources > 双击要关闭警告的文件,将 -w -Xanalyzer -analyzer-disable-all-checks
添加到有问题的文件。
Cocoapods 修复:
如果您试图抑制来自有问题的 pod 的警告,您可以使用 pod 文件中的 inhibit_warnings
标志自动抑制来自依赖项的所有警告:
pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true