程序包加载:“忽略重复的产品”(SwiftPM)

时间:2019-08-18 15:39:30

标签: swift warnings compiler-warnings swift-package-manager

我正在尝试使用Swift Package Manager构建Swift包。

但是,当我在Xcode中打开软件包并单击运行时,会收到以下警告:

enter image description here

我该如何解决?

2 个答案:

答案 0 :(得分:5)

如果您尝试构建库/框架,但在目标的根目录中还有一个main.swift文件,则经常遇到此问题,如下所示:

enter image description here

main.swift文件的存在使SwiftPM认为您正在尝试构建命令行工具,因此抱怨产生了不必要的(名称重复)库。

对于在iOS,macOS,tvOS或watchOS上使用Xcode动态框架模板初始化的项目中不会发生此警告,可能会造成混淆。

答案 1 :(得分:1)

就我而言,这是因为我在 products 部分和 Package 中的名称相同,例如

let package = Package(
    name: "Example",
    products: [
        .library(
             name: "Example",
             targets: ["Example"]),
    ],
)

出于某种原因,这似乎是 swift init 的默认行为。我删除了 .library 条目,警告消失了。