如何通过Swift Package Manager在Xcode中安装Package

时间:2015-12-16 22:21:54

标签: xcode swift swift2 swift-package-manager

我正在使用Xcode开发一个项目,并尝试通过Swift Package Manager安装和使用CryptoSwift软件包。

我在SPM上阅读了documentation,但我没有看到如何通过Xcode调用SPM的说明。

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

我对Xcode非常熟悉,但我不太了解项目构建设置部分的含义,或者如何使用Swift模块。

如果需要更多上下文,this是我在Xcode工作的项目。

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

3 个答案:

答案 0 :(得分:17)

Swift Package Manager现在支持使用

生成Xcode项目
swift package generate-xcodeproj

this answer中所述,但这只适用于开发库或命令行工具。 Not (yet) for (iOS/OS X) graphical application developer

  

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

注意:

  • 如果您的包名中有空格,即将“App Store”更改为“AppStore”,则可能无效。

答案 1 :(得分:13)

目前,要使用Swift Package Manager(即SPM),您需要安装Apple here提供的Swift 2.2的开发版本。 Xcode 7.2随Swift 2.1.1一起提供,除非安装了Swift 2.2-dev,否则不能与SPM一起使用。

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

但请注意,在使用2.2 开发版本构建的时刻,您无法将iOS应用程序提交到商店。你可以毫无问题地构建/运行/测试一些东西,虽然Playgrounds不起作用,并且调试器可能存在Xcode问题。

答案 2 :(得分:0)

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