SwiftGen
SwiftGen, projelerinizin kaynakları için otomatik olarak Swift kodu oluşturup onları kullanım açısından güvenli hale getiren bir araçtır. Colors, coredata, files, fonts, ib, json, plist, strings, xcassets, yaml dosya tiplerinin tamamını otomatik olarak kod tarafında oluşturabiliyor.
Öncelikle dosyamızın olduğu konumda terminal ekranı açıp pod init
yazarak podfile’ımızı oluşturalım.
Cocopods’a aşina değilseniz, buraya bir göz atmanızı öneririm: https://www.raywenderlich.com/7076593-cocoapods-tutorial-for-swift-getting-started
SwiftGeni projemize entegre edelim ben bunun için en güvenli yol olan cocoapods’u kullanıyorum.Podfile dosyamızın ilgili kısmına aşağıdaki satırı ekleyelim.
pod 'SwiftGen'
sonrasında Podfile dosyamızın olduğu konumda terminal ekranı açalım ve aşağıdaki komut ile kütüphanenin projemize entegre olmasını sağlayalım.
pod install
Pods/SwiftGen’i oluşturduğumuzda klasör boş olacaktır. SwiftGen gerçek bir pod değildir.
SwiftGen swiftgen.yml dosyayasına ihtiyaç duyar. Aşağıdaki terminal komutu ile dosyayı oluşturalım.
touch swiftgen.yml
Bu komut bize swiftgen adında yml uzantılı bir dosya oluşturacak. Şimdi bu dosyayı Xcode ile açıp düzenleyelim.
Bu dosya içerisinde kodu oluşturulacak içeriğin tipi ve bu tip altında dosya konumu ve oluşturulacak içerik için bir dosya yolu belirtmemiz gerekmektedir.
// swiftgen.yml
xcassets:
inputs:
- YourProjectName/Assets.xcassets // 1
outputs:
templateName: swift5 // 2
output: ProjectName/Assets.swift // 3
Bir sonra ki aşamada Xcode’da bir Run Script’e ihtiyacımız var. Build Phases kısmından yeni bir Run Script ekleyip içeriğine aşağıdaki komutu yapıştırmamız gerekiyor.
if which swiftgen >/dev/null; then
swiftgen
else
echo "warning: SwiftGen not installed, download it from https://github.com/SwiftGen/SwiftGen"
fi
Run Script’in ne olduğu ve nasıl çalıştığı hakkında bilginiz yoksa, lütfen buraya bir göz atın: https://help.apple.com/xcode/mac/10.0/index.html?localePath=en.lproj#/devc8c930575
Bir sonra ki yazımda SwiftGen kullanımıyla ilgili örnekler olacak 🙂