假设我有一个Package.swift
如下所示,来自依赖关系的SomePackage
会在swift build
期间产生警告。
// swift-tools-version:4.0
import PackageDescription
let package = Package(
name: "my-app",
dependencies: [
.package(url: "https://some-package.git", .upToNextMajor(from: "1.0"))
],
targets: [
.target(name: "Run", dependencies: ["SomePackage"]
]
)
如何从依赖项中抑制这些警告,但保留那些来自我的代码的警告?
答案 0 :(得分:3)
我使用基于CocoaPods的自定义脚本'生成我的Xcode项目后运行的xcodeproj
工具。请参阅:https://gist.github.com/siemensikkema/57ef1ce3340e32b72dc59e44bc37b477
我调整它以对产生警告的框架进行例外处理,这些警告我不关心(在我使用Vapor 2时)。
答案 1 :(得分:2)
我不知道如何仅抑制依赖项警告,但可以通过传递此选项来禁止构建期间的所有警告:autoComplete = new FormControl(null, []);search(event){this.receiptDiarizationFacade.getSubjects(event.query).subscribe(value=>this.autoComplete=value);
}
。电话会看起来像
-Xswiftc -suppress-warnings
答案 2 :(得分:2)
如果您使用的是 Xcode 10 项目文件:
答案 3 :(得分:0)
使用Swift Tools版本5,您可以在包文件中定义编译器标志(请参见https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html#swiftsetting)。这是一个Package.swift
的示例,它在构建期间禁止编译器警告:
// swift-tools-version:5.0
import PackageDescription
let package = Package(
name: "Antlr4",
products: [
.library(
name: "Antlr4",
targets: ["Antlr4"]),
],
targets: [
.target(
name: "Antlr4",
dependencies: [],
swiftSettings: [
.unsafeFlags(["-suppress-warnings"]),
]),
.testTarget(
name: "Antlr4Tests",
dependencies: ["Antlr4"]),
]
)
要仅在外来代码中禁止显示警告,应将代码分成两个包。