没有这样的模块“PackageDescription”

时间:2016-09-30 15:52:16

标签: ios swift xcode swift3

我刚开始使用swift 3并使用Swift 3.0在xcode中创建了一个简单的应用程序。现在我想使用Swift Package Manager添加第三方library。我正在按照此链接中给出的安装方法。我创建了Package.swift文件,看起来像这样

import PackageDescription

let package = Package (
name : "SwiftPM",
dependencies : [
.Package(url: "https://github.com/ArtSabintsev/Siren.git", majorVersion: 1)
])

但我收到错误No such module "PackageDescription"

3 个答案:

答案 0 :(得分:8)

Swift Package Manager和Xcode是正交的。也就是说,你不能指望在Xcode中编译Package.swift;它根本行不通。相反,在Xcode支持包管理器之前,您需要有两个不同的构建 - 一个使用包管理器,另一个使用Xcode。

因此,使用Swift包管理器,一旦您定义了Package.swift并按照包管理器的预期制定了目录结构,您只需执行:

swift build

然后对于Xcode,您创建一个使用源代码但不使用Package.swift的Xcode项目。您需要将Siren.git项目明确地克隆到Xcode构建的源文件中。

答案 1 :(得分:0)

快速3/4

通过终端导航到您的项目文件夹,并先运行$(this).data("id") 然后再运行let prices = <%= @items.select(:id, :price).to_json %>;

这些命令

data

答案 2 :(得分:0)

对于遇到与此相同错误的其他人:

修正您的 Package.swift 语法

我收到这个错误是因为 Xcode 还没有完全解析 Package.swift,因为语法错误。

就我而言,我有一个 .target(name: "name-of-target", dependencies: [""])。一旦我删除空依赖字符串 (""),Xcode 立即解析文件,错误消失了。不过记得保存文件。

此外,GoZoner 和 Pratiks 的答案已经过时:

  • Xcode 现在已与 Swift Packages 集成(如上所示)
  • swift package generate-xcodeproj 已弃用,使用时显示错误消息:
<块引用>

警告: Xcode 可以直接打开和构建 Swift 包。 'generate-xcodeproj' 不再需要,很快就会被弃用。]

关于它是什么以及它消失的原因的更多信息here