在有限的时间内,我想抑制编译器在Xcode 7.3.1中向我展示的这种警告:
<File>: Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
我已将此编译器标志添加到My Target / Build Phases / Compile Sources下的所有类:
-Wnullability-completeness
但它不起作用 - 警告仍然显示出来。我怎样才能摆脱警告?
答案 0 :(得分:22)
要禁用这些警告,您需要:-Wno-nullability-completeness
。请注意no-
;您正在使用启用这些警告的标志。
答案 1 :(得分:3)
请注意,在Xcode 11中,它现在为-Wno-nonnull
应该在目标的“ Apple Clang-自定义编译器标志”部分的“其他警告标志”中进行设置。
您还可以避免这些警告并通过删除这些标志来完全设置上述内容,Xcode会自动将这些标志添加到Objective-C中的新头文件中:
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END
答案 2 :(得分:2)
在Xcode 11.3中,这些开始在我在Github ci上的纯Swift项目中突然出现。那是因为我正在导入AWS Objective-C SDK。
令人困惑的是,这只会在第一次构建时发生,可能会为框架创建模块映射。因此,由于构建简洁,这对ci来说只是一个问题。
通过将其添加到 Swift 编译器选项(在构建设置中搜索OTHER_SWIFT_FLAGS
)来解决此问题:
-Xcc -Wno-nullability-completeness
答案 3 :(得分:2)
在使用带有混合源ObjC和Swift的项目时Xcode 11.5的设置:
WARNING_CFLAGS = $(inherited) -Wno-nullability-completeness
OTHER_SWIFT_FLAGS = $(inherited) -Xcc -Wno-nullability-completeness