33

我正在 Xcode 中开发一个项目,并尝试通过 Swift 包管理器安装和使用CryptoSwift包。

我阅读了有关 SPM 的文档,但没有看到有关如何通过 Xcode 调用 SPM 的说明。

这些例子经常提到调用$ swift build。这是否意味着只能从命令行访问 SPM?如果是这样,我应该在哪里创建Package.swift文件?

我对 Xcode 相当熟悉,但我并不真正理解项目的构建设置部分的含义,或者如何使用 Swift 模块。

编辑:这个问题最初是针对 Swift 2.1.1 附带的 Xcode 7.2 提出的。很乐意接受解释如何使用当前/未来版本的 Xcode 执行此操作的答案。

4

3 回答 3

17

Swift 包管理器现在支持生成 Xcode 项目

swift package generate-xcodeproj

this answer中所述,但这仅在开发库或命令行工具时有效。(尚未)适用于(iOS/OS X)图形应用程序开发人员

请注意,此时包管理器不支持 iOS、watchOS 或 tvOS 平台。

笔记:

  • 如果您的软件包名称中有空格,则可能无法正常工作,即将“App Store”更改为“AppStore”。
于 2016-06-09T08:33:29.360 回答
13

目前,要使用 Swift Package Manager aka SPM,您需要在此处安装Apple 提供的 Swift 2.2开发版。Xcode 7.2 随 Swift 2.1.1 一起提供,除非安装了 Swift 2.2-dev,否则它不能与 SPM 一起使用。

您可以使用 Swift 2.2-dev 进行编译,但您需要在命令行上使用swift build. 构建库和模块映射后,您可以使用 Finder 将它们拖放到 Xcode 7.2 中。SPM 将所需文件放入.build目录中。但是 Xcode 7.2 需要使用备用工具链启动。这可以从命令行使用xcrun launch-with-toolchain /Library/Developer/Toolchains/swift-latest.xctoolchain您应该能够import从使用 SPM 构建的模块/库中完成。

但请注意,您目前无法将使用 2.2开发版本构建的 iOS 应用程序提交到应用商店。尽管 Playgrounds 无法正常工作并且调试器可能存在 Xcode 问题,但您通常可以毫无问题地构建/运行/测试事物。

于 2015-12-17T05:29:59.700 回答
2

2019 年 6 月 4 日更新。Swift 5 和 SPM 5 已添加此支持,并且 Xcode 11 与 SPM 集成。

于 2019-06-04T23:45:45.997 回答