只打开 Package.swift 和使用 `swift package generate-xcodeproj` 然后打开生成的 xcodeproj 文件有什么区别?

dus*_*ndz 3 xcode swift swift-package-manager vapor

我遵循了 Vapor 网站文档,创建了 hello 项目。 蒸汽文档

在hello项目路径下,swift build在终端输入。但是当打开 Package.swift 时,Xcode 再次开始获取蒸汽。

为什么?所有依赖项存储库都在.build路径中不是?为什么 Xcode 又开始重新获取 Vapor?

swift package generate-xcodeproj可以帮助生成 xcode 项目,似乎所有依赖项都不再打包了。只是团体。

打开 Package.swift & useswift package generate-xcodeproj然后打开生成的 xcodeproj 文件有什么区别?

用 Xcode 打开 Pacakge.swift,获取 Vapor 非常慢。有没有更好的方法?

就像告诉 Xcode 一切都在./build路径中一样。

imi*_*ike 5

当您在终端中处理项目时,您会使用以下命令

swift package update
swift build
swift run
swift package generate-xcodeproj
Run Code Online (Sandbox Code Playgroud)

这些命令也适用于隐藏.build文件夹和由swift package generate-xcodeproj.build文件夹生成的 Xcode 项目。唯一的缺点xcodeproj是,如果你改变Package.swift或手动(的Xcode以外)添加/删除一些文件Sources夹,然后你必须要么只是运行swift package generate-xcodeprojswift package update && swift package generate-xcodeproj

当您通过双击打开项目Package.swift时不再使用经典的 xcodeproj,现在它是完全动态的,您可以Package.swift即时编辑和文件,无论在 Xcode 还是在 Finder 中,它都会跟踪所有更改。虽然听起来很酷,但效果并不完美,我仍然更喜欢经典,xcodeproj因为swift package generate-xcodeproj在需要时执行起来并不难。据我所知,没有办法说 Xcode.build在动态模式下使用DerivedData文件夹,它使用文件夹来存储依赖项。