使用 Xcode 的 Swift 包中没有此类模块 - 依赖项中列出的包

bsh*_*ley 7 xcode swift swift-package-manager swift-package

我创建一个空白模板包:

\n
> swift package init --name Temp\n> open Package.swift\n
Run Code Online (Sandbox Code Playgroud)\n

Xcode 版本 13.2.1 (13C100) 打开该包。

\n

我向包添加了依赖项。

\n
dependencies: [\n    .package(url: "https://github.com/johnsundell/publish.git", from: "0.7.0")\n],\n
Run Code Online (Sandbox Code Playgroud)\n

此时 Xcode > Product > Build 成功。

\n

我编辑Temp/Sources/Temp/Temp.swift以插入在 中定义的包的第一行dependencies

\n
import Publish\n
Run Code Online (Sandbox Code Playgroud)\n

现在构建会生成以下错误:\xe2\x80\xa6/Temp/Sources/Temp/Temp.swift:1:8: error: no such module \'Publish\'

\n

我确信这是苹果的一个错误。或者我可能会错过一些东西。

\n

当有xcodeproj和 提供的附加结构时,有几篇关于此问题的帖子。其中一些暗示了可以帮助某些人的解决方法。

\n

有没有人看到过这个和/或知道如何解决它?

\n

Apple 的使用 Xcode 创建独立的 Swift 包文档没有提供任何见解。

\n

bsh*_*ley 6

感谢评论中的喋喋不休,@Larme 和 @koen,它有帮助

\n

问题是用户错误(和/或文档失效)。生活在(流血)边缘。

\n

有时,更改的更新速度很慢或需要清理或重新启动。

\n

Xcode 从包中定义的目标自动生成方案。我的构建目标是MyTarget.

\n

缺少两件事:

\n
    \n
  1. name: "Publish"未包含在包依赖项中 - 需要它,因此您可以在下面引用它(或者可能可以派生,因为 Xcode 刷新问题很难判断),并且
  2. \n
  3. dependencies使用包依赖项的每个目标都需要参考,我需要添加dependencies: ["Publish"]相关目标
  4. \n
\n
    dependencies: [\n        .package(name: "Publish", url: "https://github.com/johnsundell/publish.git", from: "0.7.0")\n    ],\n    \xe2\x80\xa6\n    targets: [\n        .target(\n            name: "MyTarget",\n            dependencies: ["Publish"]),\n    ]\n
Run Code Online (Sandbox Code Playgroud)\n