---
# System prepended metadata

title: CrossiOSTemplate

---

# CrossiOSTemplate

## 설치 방법

1. Repository를 클론한다.

2. 이 Repository 폴더에 접근한다.

**Swift Xcode 템플릿을 적용방법**

1. 설치

```swift 
$ make install_templates
```

2. 제거

```swift 
$ make uninstall_templates
```

## 템플릿 추가 방법

> 템플릿은 A.xctemplate 폴더 내에 .swift파일들로 만들 수 있습니다. 

1. open ~/Library/Developer/Xcode/Templates/File\ Templates로 이동합니다.
2. Cross Templates에서 A.xctemplate 폴더를 만듭니다.
3. 템플릿 폴더에는 최소 2개의 파일이 필요합니다.
    - a.swift: 템플릿파일, 한 템플릿에 여러 개의 swift파일을 만들 경우 해당 파일들을 추가로 작업해야합니다.
    - TemplateInfo.plist: 템플릿 설정, 프로퍼티 설정
        - file 이름 작성 시 뜨는 예시 네이밍
    - TemplateIcon.png(Optional): 템플릿의 아이콘
4. a.swift는 TemplateInfo.plist에 선언해둔 프로퍼티 id값을 사용하여 템플릿을 제작합니다. 

![스크린샷 2025-07-01 오후 5.39.14](https://hackmd.io/_uploads/H1VWJQWBlg.png)

- TemplateInfo.plist에서 sceneName 프로퍼티를 선언하게 되면 파일 아래 이미지와 같이 파일의 이름을 받는 텍스트 필드 부분의 설명과 id를 설정할 수 있습니다.
    - item 0: 파일 이름을 입력하는 곳 설정
    - item 1: 파일 이름 identifier 설정 
    - item 2: 만들어질 파일 이름

![스크린샷 2025-07-01 오후 5.40.09](https://hackmd.io/_uploads/rJE-k7-Hxl.png)

![스크린샷 2025-07-01 오후 5.41.11](https://hackmd.io/_uploads/SJmNJ7bHel.png)

![스크린샷 2025-07-01 오후 5.45.44](https://hackmd.io/_uploads/S1VBlXZHlg.png)

-> 텍스트 입력 시 자동으로 네이밍이 변경됩니다.

TemplateInfo.plist의 item 2에서는 예시의 UseCase의 PlaceHolder 부분을 설정할 수 있습니다. 

한 템플릿에서 한개의 .swift파일만 만드는 경우 item 설정을 한개만 처리하고 한 템플릿에서 여러 개의 .swift파일을 처리하는 경우 item 2, 3, 4..등을 .swift 파일 개수에 맞춰서 설명을 TemplateInfo.plist에 작성해줘야 파일을 생성할 때 생성될 파일들의 네이밍을 확인할 수 있습니다. 
(item을 설정하지 않아도 .swift만 있다면 파일은 생성할 수 있습니다.)

4. ___FILEBASENAME___UseCase.swift을 연다.

```swift 
//
//  ___FILENAME___
//  ___PROJECTNAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//  Copyright © ___YEAR___ Crossenf. All rights reserved.
//

import Foundation
import RxSwift

protocol ___VARIABLE_sceneName___UseCaseProtocol {
    func execute()
}

final class ___VARIABLE_sceneName___UseCase: ___VARIABLE_sceneName___UseCaseProtocol {

    func execute() {
        
    }
    
}

```

위 예시와 같이 템플릿으로 작성할 부분들을 코드로 작성합니다. VARIABLE_sceneName 프로퍼티 설정은 TemplateInfo.plist의 item0번에 설정한 값입니다. 이런 식으로 파일 이름을 적용할 수 있습니다. 

한 템플릿에서 여러 개의 파일을 생성할 경우

![스크린샷 2025-07-01 오후 5.48.13](https://hackmd.io/_uploads/HJKRlmWBxl.png)

> 예시와 같이 템플릿에서 사용할 .swift 파일들을 만들면 됩니다.
