如何在Xcode中自定义Swift类模板?移除注释并支持NSObject可选继承
制作自定义Xcode Swift类模板
一、定位模板存放路径
- 全局模板路径(所有用户生效):
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source - 用户自定义路径(仅当前用户生效,不存在则手动创建):
~/Library/Developer/Xcode/Templates/File Templates/Source
二、搭建模板文件夹结构
- 新建文件夹,命名为
Custom Swift Class.xctemplate - 在该文件夹内创建两个核心文件:
TemplateInfo.plist:控制模板的交互选项(如是否继承NSObject)___FILEBASENAME___.swift:代码生成模板
三、配置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.IDEFoundation.TextSubstitutionFileTemplateKind</string> <key>Summary</key> <string>自定义Swift类(无头部注释,可选NSObject继承)</string> <key>Description</key> <string>生成无自动头部注释的Swift类,支持选择是否继承NSObject。</string> <key>Platforms</key> <array> <string>com.apple.platform.macosx</string> <string>com.apple.platform.iphoneos</string> </array> <key>Options</key> <array> <dict> <key>Identifier</key> <string>inheritNSObject</string> <key>Name</key> <string>继承NSObject</string> <key>Type</key> <string>Checkbox</string> <key>Default</key> <false/> </dict> </array> </dict> </plist>
四、编写Swift代码模板
在___FILEBASENAME___.swift中写入:
import Foundation #if inheritNSObject class ___FILEBASENAMEASIDENTIFIER___: NSObject { #else class ___FILEBASENAMEASIDENTIFIER___ { #endif }
五、使用自定义模板
重启Xcode后,通过 File > New > File... 就能在Source分类下找到Custom Swift Class选项,勾选「继承NSObject」复选框可生成带NSObject继承的类,不勾选则生成普通类,且无自动生成的头部注释。
内容的提问来源于stack exchange,提问作者Gargo
相关产品推荐
相关产品推荐

