2016-11-06 4 views
8

मैं आईओएस के लिए वीआईपीईआर आर्किटेक्चर के तहत प्रत्येक मॉड्यूल के लिए टेम्पलेट फाइल बनाने के लिए जेनरम्बा (https://github.com/rambler-digital-solutions/Generamba) का उपयोग कर रहा हूं।कैसे एक्सकोड कस्टम टेम्पलेट्स को पहचानते हैं

यह बहुत समय बचाता है, लेकिन अभी भी जेनरम्बा चलाने और फ़ाइलों को बनाने के लिए टर्मिनल के माध्यम से कमांड की आवश्यकता है। क्या किसी के पास एक्सकोड 8 में सीधे उन टेम्पलेट्स पीढ़ी को कैसे प्रभावित किया जाए, इस पर कोई सुराग है?

धन्यवाद

उत्तर

5

आप अपने वीआईपीईआर कक्षाएं उत्पन्न करने के लिए templates inside Xcode का उपयोग कर सकते हैं। इस repository पर एक नज़र डालें, यह आपके लिए पहले से ही मूल वीआईपीईआर फाइलों को लागू करता है।

उम्मीद है कि यह मदद करता है।

+0

कूल !! धन्यवाद –

2

मैं Generamba से परिचित नहीं हूँ, लेकिन Xcode सामान्य रूप में अपने टेम्पलेट को पहचानते हैं:

  • नामक फ़ोल्डर MyTemplate.xctemplate

  • Xcode बता कुछ में अपने Template.swift फ़ाइल डाल Templateinfo.plistMyTemplate.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> 

तुम भी Xcode बनाने बनाने के लिए अपने MyTemplate.xctemplate निर्देशिका के भीतर एक से अधिक फ़ाइलों जगह कर सकते हैं एक साथ कई फाइलें। अपने VIPER टेम्पलेट्स के लिए, आप Xcode को एक बार में पूरे VIPER दृश्य बना सकते हैं।

आप काम कर रहे उदाहरण प्लस makefilein this "Clean Swift" template repo (स्वच्छ स्विफ्ट स्विफ्ट के लिए अभी तक एक और स्वच्छ आर्किटेक्चर दृष्टिकोण है)।

+0

मैकोज़ अनुभाग के तहत टेम्पलेट्स को कस्टम कैसे सेट करें? –

+0

@ एसी: मैं _think_ आप केवल नए अनुभाग बना सकते हैं। – shallowThought

+0

हां, मैंने मैकोज़ के लिए एक नया अनुभाग बनाया था। धन्यवाद! –

0

ViperC पर एक नजर डालें यह दोनों ऑब्जेक्टिव-सी और स्विफ्ट का समर्थन करता है। इसके अलावा आप बनाए गए मॉड्यूल के लिए टेस्ट क्लासेस बना सकते हैं।टेस्ट कक्षाएं स्विफ्ट के लिए के लिए ऑब्जेक्टिव-सी और Quick और NimbleQuick और Expecta का उपयोग करें।

संबंधित मुद्दे