You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode自定义模板创建嵌套文件Group分组的配置方法

Xcode自定义模板生成嵌套Group分组配置方案

配置不生效原因

当前配置无法生成外层分组的核心原因:

  • 未在Nodes数组中显式声明外层分组节点,Xcode解析模板时会自动忽略路径中未单独声明的目录段,直接将文件平铺到当前创建位置
  • 未给外层分组配置对应定义项,Xcode无法识别该路径是项目内的虚拟Group,还是磁盘上的实体文件夹

正确配置规则

  • 在Nodes数组中先声明外层分组路径,再依次列出分组下所有文件的完整嵌套路径
  • 在Definitions字典中单独添加外层分组配置,设置Group属性为true,标记为项目分组
  • 每个Swift文件的定义项中,通过Group字段绑定到所属外层分组,Path字段指向模板目录下的实际模板文件

完整可用配置示例

以下是适配MVVM-C RxSwift UIKit模板的完整TemplateInfo.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.IDEKit.TextSubstitutionFileTemplateKind</string>
    <key>Platforms</key>
    <array>
        <string>com.apple.platform.iphoneos</string>
    </array>
    <key>Options</key>
    <array>
        <dict>
            <key>Identifier</key>
            <string>productName</string>
            <key>Required</key>
            <true/>
            <key>Name</key>
            <string>Module Name</string>
            <key>Description</key>
            <string>MVVM-C RxSwift UIKit</string>
            <key>Type</key>
            <string>text</string>
            <key>Default</key>
            <string>Module1</string>
            <key>Nodes</key>
            <array>
                <string>___FILEBASENAME___</string>
                <string>___FILEBASENAME___/___FILEBASENAME___Coordinator.swift</string>
                <string>___FILEBASENAME___/___FILEBASENAME___ViewModel.swift</string>
                <string>___FILEBASENAME___/___FILEBASENAME___ViewController.swift</string>
            </array>
            <key>Definitions</key>
            <dict>
                <!-- 外层分组定义 -->
                <key>___FILEBASENAME___</key>
                <dict>
                    <key>Group</key>
                    <true/>
                </dict>
                <!-- 分组下文件定义 -->
                <key>___FILEBASENAME___/___FILEBASENAME___Coordinator.swift</key>
                <dict>
                    <key>Group</key>
                    <array>
                        <string>___FILEBASENAME___</string>
                    </array>
                    <key>Path</key>
                    <string>___FILEBASENAME___Coordinator.swift</string>
                </dict>
                <key>___FILEBASENAME___/___FILEBASENAME___ViewModel.swift</key>
                <dict>
                    <key>Group</key>
                    <array>
                        <string>___FILEBASENAME___</string>
                    </array>
                    <key>Path</key>
                    <string>___FILEBASENAME___ViewModel.swift</string>
                </dict>
                <key>___FILEBASENAME___/___FILEBASENAME___ViewController.swift</key>
                <dict>
                    <key>Group</key>
                    <array>
                        <string>___FILEBASENAME___</string>
                    </array>
                    <key>Path</key>
                    <string>___FILEBASENAME___ViewController.swift</string>
                </dict>
            </dict>
        </dict>
    </array>
</dict>
</plist>

补充说明

  • 上述配置默认只在Xcode项目导航栏创建虚拟Group,磁盘上不会生成多余嵌套文件夹,模板目录下直接存放所有Swift模板文件即可,不需要额外创建同名文件夹
  • 如果需要同步在磁盘生成对应实体目录,只需要在外层分组的定义项中添加<key>Path</key><string>___FILEBASENAME___</string>配置即可

内容的提问来源于stack exchange,提问作者Mickael Belhassen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 10:57:27