包裹加载:"Ignoring duplicate product" (SwiftPM)
Package Loading: "Ignoring duplicate product" (SwiftPM)
我正在尝试使用 Swift Package Manager 构建一个 Swift 包。
但是,当我在 Xcode 中打开包并单击 运行 时,我收到以下警告:
我该如何解决这个问题?
如果您尝试构建 library/framework 但在目标的根目录中还有一个 main.swift
文件,这是一个经常遇到的问题,如下所示:
.
main.swift
文件的存在使 SwiftPM 认为您正在尝试构建命令行工具,因此抱怨生成了不必要的(名称重复的)库。
此警告可能令人困惑,因为它不会出现在使用 Xcode、iOS、macOS、tvOS 或 watchOS 的动态框架模板初始化的项目中。
就我而言,这是因为我在 products
部分和 Package
部分中使用了相同的名称,例如
let package = Package(
name: "Example",
products: [
.library(
name: "Example",
targets: ["Example"]),
],
)
出于某种原因,这似乎是 swift init
的默认行为。我删除了 .library
条目,警告消失了。
我正在尝试使用 Swift Package Manager 构建一个 Swift 包。
但是,当我在 Xcode 中打开包并单击 运行 时,我收到以下警告:
我该如何解决这个问题?
如果您尝试构建 library/framework 但在目标的根目录中还有一个 main.swift
文件,这是一个经常遇到的问题,如下所示:
main.swift
文件的存在使 SwiftPM 认为您正在尝试构建命令行工具,因此抱怨生成了不必要的(名称重复的)库。
此警告可能令人困惑,因为它不会出现在使用 Xcode、iOS、macOS、tvOS 或 watchOS 的动态框架模板初始化的项目中。
就我而言,这是因为我在 products
部分和 Package
部分中使用了相同的名称,例如
let package = Package(
name: "Example",
products: [
.library(
name: "Example",
targets: ["Example"]),
],
)
出于某种原因,这似乎是 swift init
的默认行为。我删除了 .library
条目,警告消失了。