如何为SwiftPM提供Xcode Templates支持?
让自定义Xcode模板在SwiftPM中显示的解决方法
1. 修改模板的TemplateInfo.plist配置
每个.xctemplate文件夹下都有这个核心配置文件,Xcode的SwiftPM模式会过滤未声明支持包类型的模板,你需要补充相关配置:
- 打开目标模板的
TemplateInfo.plist文件 - 找到
AllowedTypes数组(没有的话就新增这个键),添加以下两个类型:com.apple.dt.swiftpm-package(适配Swift包根目录)com.apple.dt.swiftpm-target(适配Swift包内的Target)
- 保留原有已支持的类型(比如
com.apple.dt.swift-source这类源码文件类型),不用删除,只需要追加上面两个SPM相关类型即可
2. 优化模板存放路径(可选)
虽然~/Library/Developer/Xcode/Templates是官方指定路径,但如果模板嵌套层级过深或分类文件夹命名特殊,可能被Xcode的SPM扫描逻辑忽略:
- 尽量将模板放在一级自定义分类文件夹下,比如
~/Library/Developer/Xcode/Templates/My MVVM Templates/MVVM Set.xctemplate - 分类文件夹名称避免特殊字符,保持简洁易懂
3. 重启Xcode生效
修改配置或调整路径后,完全退出Xcode(包括后台残留进程),重新打开后进入Swift包项目,再打开「New File…」菜单就能看到自定义模板了
额外提示
如果是多文件模板(比如一次性生成View、ViewModel、Model),要确保TemplateInfo.plist里的Nodes配置正确,每个文件的Path和Template都指向对应的模板文件,避免生成失败。
内容的提问来源于stack exchange,提问作者pacification
相关产品推荐
相关产品推荐

