При работе в Xcode часто возникает необходимость написания большого количества повторяющегося кода, который раз за разом приходится создавать в ручном режиме. Например, при создании модуля в архитектуре VIPER вам предстоит каждый раз создавать новый комплект из пяти файлов, которые будут отличаться от соответствующих файлов в других модулях только названием.
Время кодогенерации может быть значительно сокращено при использовании шаблонов. Приступим!
Шаг 1: Папка для хранения шаблонов
Все шаблоны, которые мы будем создавать в будущем, нужно хранить здесь:
~/Library/Developer/Xcode/Templates/Custom
Если такой папки еще нет, то ее нужно создать. В нее мы будет класть новые шаблоны. В папке Custom создаем дополнительную папку под каждый шаблон с названием название_шаблона.xctemplate. В нашем случае это VIPER.xctemplate.
Шаг 2: Создание шаблона
Рассмотрим создание шаблона на примере VIPER-модуля. Скачать шаблон можно здесь.
Структура шаблона состоит из всех файлов, которые мы хотим генерировать, и файла TemplateInfo.plist, который содержит информацию о том, какую информацию предлагать ввести пользователю при создании кода из шаблона. Код внутри файла выглятит так:
Не пугайтесь этого кода. Главную переменная здесь:
___VARIABLE_productName:identifier__
она берется из файла файла TemplateInfo.plist, а все остальные макросы можно подсмотреть в шпаргалке от Apple. Я рекомендую поиграть с параметрами и лично ощутить все удобство использования шаблонов. Шаг 3: Генерация кода из шаблона
В проекте Xcode выбираем File — New — File…
Листаем вниз до секции Custom:
3. Выбираем VIPER и вводим название нашего модуля:
4. Выбираем локацию для хранения, сохраняем и любуемся на красоту:
Сегодня мы научились создавать шаблоны для Xcode. Если у вас остались вопросы — пишите в наш телеграм-чат. Всем пока!