gpt4 book ai didi

ios - 带有自定义项目模板的 Xcode 9 文件夹引用

转载 作者:技术小花猫 更新时间:2023-10-29 10:10:59 28 4
gpt4 key购买 nike

在 Xcode 9 中,当您创建一个组时,它也会在文件系统中创建一个链接文件夹。所以你不需要手动为每个组创建文件夹。关于 Xcode 9 中组和文件夹相关更改的很好解释,see this .

我有一个自定义 Xcode 项目模板,它生成一个项目并在自定义文件夹中添加大量 Swift 样板源文件。我的问题是我只能像这样创建组文件夹:enter image description here , 表示与文件系统目录无关的组。这不好,因为如果您稍后在 Xcode 中重命名文件夹,它不会影响相应的文件系统目录。

我的目标是编写一个 Xcode 项目模板,将我的自定义样板 swift 文件添加到真实的引用文件夹中,如下所示:enter image description here .

您可以从 here 下载我的简化模板,把它放在:~/Library/Developer/Xcode/Templates

然后 Xcode > File > New > Project,然后选择 Custom-Template。

模板信息.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kind</key>
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
<key>Concrete</key>
<true/>
<key>Identifier</key>
<string>custom-swift.xcodeTemplate</string>
<key>Description</key>
<string>Swift starter project for iOS projects</string>
<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.cocoaTouchFramework</string>
</array>
<key>Nodes</key>
<array>
<string>Classes/Interfaces/CustomInterface.swift</string>
</array>
<key>Definitions</key>
<dict>
<key>Classes/Interfaces/CustomInterface.swift</key>
<dict>
<key>Group</key>
<array>
<string>Classes</string>
<string>Interfaces</string>
</array>
<key>Path</key>
<string>Classes/Interfaces/CustomInterface.swift</string>
</dict>
</dict>
</dict>
</plist>

它创建了一个这样的项目:

enter image description here

我想实现的目标:

enter image description here

非常感谢任何帮助! :)

更新 1:

我找到了一个小的解决方法。使用模板脚本创建您自己的复杂文件夹层次结构,然后只需删除根文件夹 - 在我的例子中是“Classes”。然后打开垃圾箱并将其拖回 Xcode,选择“如果需要复制项目”并选择“创建组”。它将使用真实的引用文件夹构建文件夹结构。

最佳答案

这是您需要做的。在命名文件之前,在节点部分指定组。

<key>Nodes</key>
<array>
<string>MyGroup/File.swift:comments</string>
<array>

接下来在定义中提供 key 中的组名称,如下所示:

<key>Definitions</key>
<dict>
<key>MyGroup/File.swift</key>
<dict>
<key>Path</key>
<string>File.swift</string>
<key>Group</key>
<string>MyGroup</string>
</dict>

希望这会有所帮助。

关于ios - 带有自定义项目模板的 Xcode 9 文件夹引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50434522/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com