XCode Project Custom File Templates

iOS #23Yazılım #31Tüyo #3

Ali Mert Tekel yazdı.

İçerik

Geliştirme sürecinde her ayrıntının önemli olduğu bir dünyada yaşıyoruz. Bu karmaşık süreçte, verimliliği ve tutarlılığı artırmak için araçlardan en iyi şekilde yararlanmak gerekiyor. Bu yazıda, iOS uygulama geliştirme sürecini daha düzgün, hızlı ve hatasız hale getirmek için Xcode’un Custom File Template’lerinin nasıl kullanılacağını ele alacağız.

Yeni başlayanlardan deneyimli geliştiricilere kadar herkesin işine yarayacak bu bilgilerle, projenizdeki geliştirme sürecini daha verimli hale getirebilirsiniz.

Xcode
Apple’ın macOS, iOS, watchOS ve tvOS için uygulamalar geliştirmek için kullandığı bir Entegre Geliştirme Ortamı (IDE).
Template
Önceden tanımlanmış bir dosya yapısı.
Custom Xcode Template
Kullanıcı tarafından özelleştirilmiş Xcode Template’leri.
MVVM
Model-View-ViewModel, bir yazılım mimarisi deseni.
.xctemplate
Xcode Template’lerinin dosya türü.

`File Templates`, Xcode’un özellikle iOS uygulamaları geliştirirken kullandığımız dosyaları oluşturma sürecinde kilit bir rol oynar. Her yeni dosya oluştururken, `Choose a template for your new file:` başlığı altında bir dizi template sunulur.

Figure 1: Template Seçimi

Bu template’ler, yeni oluşturulacak dosyaların belirli bir yapıya sahip olmasına yardımcı olur. Ancak, projeniz büyüdükçe ve daha fazla dosya eklemeniz gerektiğinde, aynı süreci tekrar tekrar uygulamak zaman kaybına ve tutarsızlıklara yol açabilir. İşte tam bu noktada Custom Xcode Templates devreye girer.

Custom Xcode Template Avantajları

Custom Xcode Template, projenizin gereksinimlerine ve mimarisine uygun dosyaları hızlı ve tutarlı bir şekilde oluşturmanıza olanak sağlar. Örneğin, MVVM mimarisi gibi belirli bir mimariyi kullanırken, her sayfa için birden fazla dosya oluşturmanız gerekebilir. Bu süreci Custom Xcode Template kullanarak optimize edebilirsiniz.

Custom Xcode Template Nasıl Oluşturulur?

İlk adım, Xcode’un template’leri barındırdığı dizini açmaktır.

Bu klasör genellikle `~/Library/Developer/Xcode/Templates/File Templates` dizininde bulunur. Eğer bu dizin mevcut değilse, manuel olarak oluşturabilirsiniz.

Figure 2: Templates dizinini açmak

Figure 3: Yeni klasör oluşturmak

Kendi template’lerinizi barındıracak bir klasör oluşturmanız gerekmektedir. Bu klasörü adlandırırken istediğiniz ismi kullanabilirsiniz, örneğin “My Project Templates”.

Figure 4: Custom Template barındıracak klasörü oluşturmak

Sonrasında, `.xctemplate` uzantılı bir dosya oluşturmalısınız. Bu dosya, oluşturacağınız asıl template’i temsil eder ve template’in nasıl görüneceğini ve hangi dosyaların oluşturulacağını belirler.

Figure 5: Xctemplate dosyaları

`.xctemplate` dosyası genellikle aşağıdaki öğeleri içerir:

  • TemplateInfo.plist
  • Dosya template’leri (Örneğin; .swift dosyaları)
  • Diğer kaynak dosyaları (Örneğin; Template için icon dosyası)

Örnek bir dosya template’i;

  // ___FILEHEADER___
  import Combine
  import Foundation
  import SwiftUI

  struct ___VARIABLE_pageName___ContentView: View {
      // MARK: Observable Objects
      @ObservedObject var viewStateData: ___VARIABLE_pageName___ViewStateData
      // MARK: Properties
      var onChangeEvent: (___VARIABLE_pageName___Event) -> Void
      // MARK: Lifecycle
      var body: some View {
          self.content()
      }
  }

  // MARK: - Views
  extension ___VARIABLE_pageName___ContentView {
      private func content() -> some View {
          VStack {
              // TODO: Add Views
          }
      }
  }
  #if DEBUG
  struct ___VARIABLE_pageName___ContentView_Previews: PreviewProvider {
      static var previews: some View {
          let initialView = ___VARIABLE_pageName___ContentView(viewStateData: .init(), onChangeEvent: { _ in })
          return Group {
              initialView
          }
      }
  }
  #endif

Custom Template oluşturmak ve hazır template bulabileceğiniz birkaç kaynak aşağıdaki gibidir:

Referenslar

  1. Kodeco: Bu kaynakta kapsamlı bir şekilde custom template oluşturma süreci anlatılıyor.
  2. Github Xcode Templates: Github’da “xcode-templates” topic’i ile genellikle proje mimarileri için oluşturulmuş template repolarına ulaşabilirsiniz.

Özetle, bu adımlar, Custom File Template’lerinizi oluşturmak için iyi bir başlangıç noktası olabilir. Ancak, her projenin kendine özgü ihtiyaçları olduğunu ve bu adımların projenizin spesifik gereksinimlerine göre uyarlanması gerektiğini unutmamak önemlidir. Bu sayede, projenizin verimliliğini ve tutarlılığını artırarak, uygulama geliştirme sürecinizin kalitesini yükseltebilirsiniz.