Xcode 创建自定义模板

背景

在团队进行项目开发的时候,一般都会统一代码风格,以方便代码的维护。

比如在以 Swift 为主的工程中,并不存在头文件的概念,声明与实现都是放在同一个文件,如果不对代码按一定规则进行分割,那在较复杂的对象文件中,对于不同的开发者来说,维护起来的成本要高上不少。

但是统一代码风格,则要求每个参与项目的开发者每个源码文件都按照规范来编写,既繁琐又浪费时间,所以可以借助 Xcode 的自定义模板功能来完成,既实现统一规范,同时不耗费额外的时间。

创建模板

Xcode 版本:Version 8.0 (8A218a)

系统模板

Xcode 系统模板的路径是 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/,文件夹里面有文件模板 File Templates 和工程模板 Project Templates,分别对应创建文件时的选项和创建工程时的选项:

创建文件.png
创建工程.png
Cocoa Touch Class 模板.png

接下来,可以模仿 Cocoa Touch Class 模板 (路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplat)创建自定义模板。

自定义模板

创建自定义模板,我们需要将对应的模板文件放到 /Users/xxx/Library/Developer/Xcode/Templates/File Templatesxxx 为用户名)下,新建一个 Custom 的文件夹,然后按下图所示创建对应的文件(可以从系统的Cocoa Touch Class.xctemplate 复制对应的文件过来):

模板.png

  • Objective-CSwift 是模板使用对应语言
  • ___FILEBASENAME___:模板内容格式声明
  • TemplateIcon 是模板对应的图标
  • TemplateInfo.plist:是模板内容说明

修改 Swift 文件夹下的 ___FILEBASENAME___.swift 文件为(Objective-C 此处不举例):

//
//  ___FILENAME___
//  ___PROJECTNAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//

import UIKit

// MARK: - 外部接口
extension ___FILEBASENAMEASIDENTIFIER___ {
    
}

// MARK: - 事件响应
extension ___FILEBASENAMEASIDENTIFIER___ {
    
}

public class ___FILEBASENAMEASIDENTIFIER___: UIViewController {
    
    // MARK: - 生命周期
    
    
    public override func viewDidLoad() {
        super.viewDidLoad()
        setupParameter()
        setupUI()
        layoutPageSubviews()
    }
    
    public override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
    
    // MARK: - 界面初始化
    
    
    /// 初始化UI
    fileprivate func setupUI() {
    }
    
    /// 初始化布局
    fileprivate func layoutPageSubviews() {
        
    }
    
    /// 初始化参数
    fileprivate func setupParameter() {
        
    }
    
    
    // MARK: - 内部接口
    
    
    // MARK: - 公共成员变量
    
    
    // MARK: - 私有成员变量
    
    
    // MARK: - 子控件
    
    
    // MARK: - 测试
    
    
}

现在可以选中刚刚创建的文件模板:

Custom文件模板.png
创建自定义类名.png
创建的文件.png

参考

  1. Xcode 自定义模板实践

推荐阅读更多精彩内容

  • 我想,“用进废退”应该适用于一切生理器官。脑子用得多,更加灵光。手指用得多,更加灵活。甚至嘴巴,说话多了,口吐莲花...
    侯玲玉阅读 28评论 0 3
  • 坚持一件事真的很难吗?坚持一个小时候不变的梦想,坚持一件自己喜欢的事,坚持一个自己喜欢的人,坚持一个好的习惯,坚持...
    紫木苏阅读 45评论 0 0
  • 因为“涉毒嫌疑”而退出娱乐圈,NARI这一次是真的离开了。 残念!残念!残念! 重要的事情说完三遍后,该来谈一谈这...
    丛阑阅读 52评论 0 0
  • 在外人看来,我光鲜亮丽,前途无量。可可悲的是,只有我自己才知道我内心黑暗的一面,我害怕它为人所知,所以我极力掩饰自...
    一个矛盾的人阅读 18评论 0 0