2016-11-06 3 views
8

Я использовал Generamba (https://github.com/rambler-digital-solutions/Generamba) для создания файлов шаблонов для каждого модуля под архитектурой VIPER для iOS.HowTo сделать Xcode распознавать пользовательские шаблоны

Это экономит много времени, но все еще нуждается в командах через терминал для запуска Generamba и создания файлов. Кто-нибудь знает, как внедрить эти шаблоны в XCode 8?

Благодаря

ответ

5

Вы можете использовать templates inside Xcode для генерации ваших классов VIPER. Взгляните на это repository, он уже реализует основные файлы VIPER для вас.

Надеюсь, это поможет.

+0

Прохладный !! спасибо –

2

Я не знаком с Generamba, но сделать Xcode распознавать шаблоны в целом:

  • поместить файл Template.swift в папке MyTemplate.xctemplate

  • сказать Xcode некоторые подробнее о вашем шаблоне, добавив Templateinfo.plist в MyTemplate.xctemplate (см. пример ниже).

  • копия MyTemplate.xctemplate до ~/Library/Developer/Xcode/Templates/File\ Templates/Custom.

После этого, шаблоны отображаются в нижней части Xcode сек меню выбора new File шаблона.

Пример:

enter image description here


Вы можете использовать заполнители переменные окружающей среды, которые заменяются на Xcode.

Вот простой пример шаблона называется Worker.swift:

// 
// ___FILENAME___ 
// ___PROJECTNAME___ 
// 
// Created by ___FULLUSERNAME___ on ___DATE___. 
// Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved. 
// 
// This file was generated. DO NOT MODIFY ! 
// 

import Foundation 

class ___FILEBASENAMEASIDENTIFIER___Worker { 

    //implementation goes here 
} 

И его пример 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>DefaultCompletionName</key> 
    <string>MyWorker</string> 
    <key>Description</key> 
    <string>This generates a new worker.</string> 
    <key>Kind</key> 
    <string>Xcode.IDEKit.TextSubstitutionFileTemplateKind</string> 
    <key>Options</key> 
    <array> 
     <dict> 
      <key>Default</key> 
      <string>___VARIABLE_sceneName:identifier___Worker</string> 
      <key>Description</key> 
      <string>The worker name</string> 
      <key>Identifier</key> 
      <string>workerName</string> 
      <key>Name</key> 
      <string>Worker Name:</string> 
      <key>Required</key> 
      <true/> 
      <key>Type</key> 
      <string>static</string> 
     </dict> 
    </array> 
    <key>Platforms</key> 
    <array> 
     <string>com.apple.platform.iphoneos</string> 
    </array> 
    <key>SortOrder</key> 
    <string>4</string> 
    <key>Summary</key> 
    <string>Summery</string> 
</dict> 

Вы также можете разместить несколько файлов в вашем MyTemplate.xctemplate каталоге, чтобы сделать Xcode создать несколько файлов одновременно. Для ваших шаблонов VIPER вы можете сделать Xcode создать целую сцену VIPER сразу.

Вы можете найти рабочие примеры плюс makefilein this "Clean Swift" template repo (Clean Swift - еще один подход Clean Architecture для Swift).

+0

Как настроить шаблоны в разделе macOS? –

+0

@ A.C: Я _think_ вы можете создавать только новые разделы. – shallowThought

+0

Да, я создал новые разделы для macOS. Благодаря! –

0

Взгляните на ViperC он поддерживает как Objective-C и Swift. Также вы можете создать тестовые классы для созданных вами модулей.Классы испытаний используют Quick и Expecta для Objective-C и Quick и Nimble для Swift.

Смежные вопросы