틈틈히 적어보는 개발 일기

엑스코드에서 템플릿(Xcode Template)을 사용해보자! 본문

📱 iOS, Swift

엑스코드에서 템플릿(Xcode Template)을 사용해보자!

itllbegone 2023. 6. 18. 15:32

최근 정해진 컨벤션이 조금씩 달라지고, 레거시를 최신화하고, 사용하던 컨벤션을 새로운 구성원에게 전달할 일이 생기면서

문서와 구두로 전달하기보다 이를 정형화하고 싶은 생각이 들었다

그러다 찾아낸 것이 Xcode Template를 활용하는 것!

 

 

컨벤션의 정형화가 잘 되어 있고 구성원들과 함께한지 오래되었다면 이러한 Template를 만드는 것이 오히려 귀찮음으로 다가올 수 있다

그러나 Xcode Template를 만들고 사용하게 되면 코드의 위치가 섞이거나 오탈자 등의 Human Error를 줄일 수 있기도 하다

그래서 이번글은 Xcode에서 나만의 Template를 만드는 법과 내가 실제로 활용하고 있는 Template를 공유해보고자 한다

 

 

템플릿 추가하기

itllbegone_Templates.zip
0.10MB

커스터마이징 하는 법을 알아보기 전에 Template를 추가하는 법은 다음과 같다

  1. 첨부파일 `itllbegone_Templates.zip` 을 다운로드 한다
  2. 터미널에 `mkdir -p ~/Library/Developer/Xcode/Templates/File\ Templates` 명령어를 통해서 Xcode에서 사용할 템플릿 폴더를 생성한다
  3. File Templates 폴더에 다음과 같이 다운로드한 파일을 이동한다

다른 템플릿도 추가해보세요!

이제 Xcode를 재실행 한 뒤 새로운 파일 추가하기를 눌러보면 가장 아래에 우리가 추가했던 템플릿이 보일 것이다!

 

여기서 `itllbegone_Templates`가 섹션을 구분하는 타이틀이 되시겠고

내부에 있는 `.xctemplate` 확장자가 붙은 폴더가 우리의 커스터마이징된 파일을 생성하는 아이템의 타이틀이 되시겠다

 

 

템플릿 커스터마이징

가장 흔하게 접할 UIViewController 템플릿을 기준으로 한 번 살펴보자! (이제 Reactor를 살짝 곁들인)

폴더 내부의 파일들에 대한 설명은 .plist를 까보면서 이야기해보자

ReactorViewController.xctemplate의 TemplateInfo.plist

- Default폴더

가장 기본적으로 사용하게 될 템플릿이다

내부에는 `___FILEBASENAME___.swift` 파일이 들어있는데 해당 파일에 내가 원하는 코드 컨벤션과 같은 템플릿을 구성하면 된다

.plist에서 바라보는 MainTemplateFiles의 String이 바라보는 파일이다

 

- TemplateInfo.plist

템플릿의 환경을 설정하는 .plist이다. 

템플릿 선택 후 Next를 누르게 되면 보이게 되는 option 선택 화면

Option항목을 보게되면, 여러가지 옵션들을 지정할 수 있는데 Item 0번의 경우에는 Default 폴더를 바라보는 기본 옵션으로, Item 1은 `Suffix`폴더에 대한 옵션을 `Identifier`필드를 통해 설정해두었다

 

그래서 Suffix폴더의 파일은 `___FILEBASENAME___ViewController.swift`로 `ViewController` suffix를 붙여놓았고, 해당 체크박스를 선택하게 되면 suffix가 자동으로 붙을 수 있도록 커스터마이징 해둔 것이다!

 

저 체크박스는 각 Item의 Type 필드에서 유형을 선택할 수 있는데 checkbox, text, static, combo box, popup 등의 Type을 지정할 수 있다고 한다

 

- TemplateIcon

템플렛을 나타낼 Icon이미지 🧑🏻‍🎨

 

 

결과

이제 내가 원하는 코드를 자동으로 완성할 수 있는 템플릿이 완성되었다!

각 상황과 컴포넌트에 맞는 템플릿을 미리 구비해둬서 매번 똑같은 코드를 반복하는 작업을 줄여보자!

 

Comments