Xcode 构建报告 Swift Package Manager 包“没有这样的模块”。一次又一次的构建最终修复了它

TJe*_*Jez 7 xcode ios swift swift-package-manager swift-package

在执行“清理构建文件夹”后尝试构建时,我收到“没有此类模块”错误。反复尝试构建最终没有错误。

重要提示:找不到的模块是使用 Swift Package Manager 的本地包,即不是从 git 下载的。我像这样指定这些依赖项:

.package(url: "file:../CoreGraphicsExtensions", from: "0.0.0")
Run Code Online (Sandbox Code Playgroud)

/UIKitExtensions/Package.swift正如我在此处列出的文件中所见:

// swift-tools-version: 5.6
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
        name: "UIKitExtensions",
        products: [
            // Products define the executables and libraries a package produces, and make them visible to other packages.
            .library(
                    name: "UIKitExtensions",
                    targets: ["UIKitExtensions"]),
        ],
        dependencies: [
            // Dependencies declare other packages that this package depends on.
            // .package(url: /* package url */, from: "1.0.0"),
            .package(url: "file:../CoreGraphicsExtensions", from: "0.0.0")
        ],
        targets: [
            // Targets are the basic building blocks of a package. A target can define a module or a test suite.
            // Targets can depend on other targets in this package, and on products in packages this package depends on.
            .target(
                    name: "UIKitExtensions",
                    dependencies: []),
            .testTarget(
                    name: "UIKitExtensionsTests",
                    dependencies: ["UIKitExtensions"]),
        ]
)
Run Code Online (Sandbox Code Playgroud)

这是我尝试构建时在 Xcode 中看到的内容。

首先构建...

在此输入图像描述

第二次构建...

在此输入图像描述

第三次构建...

在此输入图像描述

第四期建设...

在此输入图像描述

第五期建设...

在此输入图像描述

...终于运行了。

但是有一些关于这些包未被任何目标使用的奇怪警告。

在此输入图像描述

在干净的构建之后,我怎样才能让它第一次正确构建?


我的工作区结构如下所示......

在此输入图像描述

工作区中的两个项目。BlenderViewer 有我正在构建的目标。BlenderViewer 有 6 个本地 SPM 包。它还导入 PhyKit 项目作为框架,没有任何问题。SPM 包之间存在一些依赖关系,但没有循环关系。

在我看来一切都很好......

在此输入图像描述

在此输入图像描述

我运行的是 MacOS 12.5。Xcode 13.4.1。为 iOS 15.3 构建。

我在这里做错了什么吗?

Gsp*_*Gsp 5

我对在线包也遇到了同样的错误(在删除并重新添加它之后),并且对于清理派生数据、重置包缓存和从命令行解决依赖关系的其他建议也没有运气。

我最终发现,需要将有问题的包手动重新添加到Build Phases>中的应用程序目标中Link Binary with Libraries。这解决了这个问题。


Jay*_*tel 0

当您删除派生数据时,有时 Xcode 的包缓存会变得混乱。这通常会导致无法真正解释的奇怪的构建错误。以下是可能有帮助的事情:

重置 Xcode 包缓存:要重置包缓存,请打开“文件”菜单,导航到“包”,然后单击“重置包缓存”。这将删除所有本地包数据并从在线源重新下载每个包。等待所有包下载完毕