Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift package manager在维护组结构的同时生成Xcode项目_Swift_Xcode_Swift Package Manager - Fatal编程技术网

Swift package manager在维护组结构的同时生成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包管理器生成时,是否可以在Xcode中维护组结构层次结构?每次我跑步时:

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中最近修复的文件—要获得此行为,您需要从中获取一个最新的工具链