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

问题描述

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

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

为什么?所有依赖项存储库都位于.build路径中吗?为什么Xcode开始重新获取Vapor?

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

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

使用Xcode打开Pacakge.swift,非常缓慢地获取Vapor。有什么更好的方法吗?

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

解决方法

在终端中处理项目时,请使用类似的命令

swift package update
swift build
swift run
swift package generate-xcodeproj

这些命令适用于隐藏的.build文件夹,而swift package generate-xcodeproj生成的Xcode项目也适用于该.build文件夹。 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文件夹来存储依赖项。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...