30

我正在使用新的开源 Swift 包管理器并且能够下载文件。我希望经理根据它检索到的包创建一个“开发环境”(通过 Xcode)。

有人处理过这个吗?

4

3 回答 3

45

更新:如其他答案中所述,您现在可以使用以下命令生成 Xcode 项目文件:

swift package generate-xcodeproj

原答案:

Swift Package Manger (SPM) 是跨平台的,它适用于 Mac 和 Linux。Xcode 仅适用于 Mac OS,所以我认为 SPM 不会很难与 Xcode 集成。

SPM 可以做两件事:

  • 将 swift 源代码构建到模块中(可执行文件和库)
  • 获取依赖项(从 gi​​t 或本地路径)

SPM 仅适用于源代码、文件夹和文件。它对 Xcode 一无所知。
还提到,未来苹果计划增加对其他语言的支持,而不仅仅是 Swift 和 Objc。

我的回答:SPM 不会与 Xcode 合作。但是因为它是开源的,所以任何人都可以制作自己的 fork 并添加自定义功能来生成 Xcode 特定文件。

于 2015-12-09T12:42:31.313 回答
41

更新(2021/05/23):

随着 Xcode 获得了对 Swift Packages 的官方支持,如今推荐的创建包的方法是在 Xcode 中通过“ Xcode > File > New > Swift Package ”。


更新(2020 年 11 月 20 日):

PR 3062合并generate-xcodeproj后,很快将被标记为已弃用。


原答案:

swift-package-manager项目的PR #174开始,存在一个用于在包的根目录中生成 Xcode 项目文件的选项:

$ swift package generate-xcodeproj

注意:使用的早期版本:

$ swift build --generate-xcodeproj

它将正式成为 Swift 3.0 版本的一部分。
但它已经Xcode Swift DEVELOPMENT Snapshot 2016-03-24或以后可用!

于 2016-04-12T17:01:55.630 回答
2

如果您安装了 Xcode 11,您现在需要做的只是运行此命令,xcode-tools 将自动打开相应的Package.swift并解析为项目供您在 Xcode 中打开:

$ xed .

2020 年之前:

我为此写了一个小命令行工具

它被称为spawnhttps ://github.com/vinhnx/spawn

基本上,当您想试用 SPM 包时,这只是重复命令的一小部分组合:

$ swift package update # update or resolve package dependencies
$ swift package generate-xcodeproj # generate a .xcodeproj to edit on Xcode
$ xed . # open generated .xcodeproj automatically
于 2019-04-20T09:12:46.220 回答