我刚开始使用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"
答案 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 %>;
答案 2 :(得分:0)
对于遇到与此相同错误的其他人:
Package.swift
语法我收到这个错误是因为 Xcode 还没有完全解析 Package.swift
,因为语法错误。
就我而言,我有一个 .target(name: "name-of-target", dependencies: [""])
。一旦我删除空依赖字符串 (""
),Xcode 立即解析文件,错误消失了。不过记得保存文件。
swift package generate-xcodeproj
已弃用,使用时显示错误消息:警告: Xcode 可以直接打开和构建 Swift 包。 'generate-xcodeproj' 不再需要,很快就会被弃用。]
关于它是什么以及它消失的原因的更多信息here。