Swift package manager在维护组结构的同时生成Xcode项目
从swift包管理器生成时,是否可以在Xcode中维护组结构层次结构?每次我跑步时:Swift package manager在维护组结构的同时生成Xcode项目,swift,xcode,swift-package-manager,Swift,Xcode,Swift Package Manager,从swift包管理器生成时,是否可以在Xcode中维护组结构层次结构?每次我跑步时: swift package generate-xcodeproj 我丢失了我所有的组(不是文件夹,它工作得很好)结构。在Xcode中编程时,我通常希望有一些代码看不到的可视化组织(即组而不是文件夹)。我相信您希望的是按如下方式组织源代码(基于后续评论): Foo/Package.swift Foo/Sources/Foo/Living.swift Foo/Sources/Foo/specifys/Bird.
swift package generate-xcodeproj
我丢失了我所有的组(不是文件夹,它工作得很好)结构。在Xcode中编程时,我通常希望有一些代码看不到的可视化组织(即组而不是文件夹)。我相信您希望的是按如下方式组织源代码(基于后续评论):
Foo/Package.swift
Foo/Sources/Foo/Living.swift
Foo/Sources/Foo/specifys/Bird.swift
Foo/Sources/Foo/specifys/Fish.swift
Foo/Sources/Foo/specifys/Human.swift
请注意,这里重要的一点是,如果您想使用子目录,您必须确保您的代码都嵌套在源代码
的下面一层。这是一个包声明多个目标时使用的约定,如果要对源使用嵌套,则需要使用该约定。请参阅参考资料中的部分
如果您使用这种布局,那么使用最新的Swift package manager(可通过)生成的Xcode项目将具有我认为您想要的组结构
我们知道,这一点现在令人困惑,我们正在评估如何最好地改进这些问题。是否有理由不在组结构中使用与所需文件相同的文件系统结构?例如,举个粗略的例子,想象一下,为以下对象创建一系列包含类的独立文件:Bird、Fish、Human,所有这些对象都在独立的Living文件中引用超类。然后你可以组织它们:File:Living,Group:Species->File:Bird->File:Fish->File:Human,如果Species是一个文件夹,这对SPMIf不起作用。如果我这样做,那么在Xcode之后,swift包生成xcodeproj然后我会得到你所说的,但它们不会被分解成组。所有文件都处于同一级别,但现在命名为:
指定/Bird.swift
等。这不是组指定
中的文件,而是SwiftPM中最近修复的文件—要获得此行为,您需要从中获取一个最新的工具链