String Tabanlı Asset Referanslarının Sonu
Xcode 15’teki daha sessiz ama etkili değişikliklerden biri, asset catalog’lara yerleşik tür güvenli erişim. Daha önce, asset catalog’undan bir görsel veya renk referansı almak string literal gerektiriyordu:
// Before Xcode 15
Image("custom-header-icon")
Color("primaryBrand")Bu kırılgandı. Bir asset’i yeniden adlandır, kodun sorunsuz derlenir ama çalışma zamanında çöker veya hiçbir şey göstermez. SwiftGen gibi araçlar, asset catalog’larından tür güvenli sabitler üreterek tam olarak bu sorunu çözmek için vardı.
Ne Değişti
Xcode 15 artık asset catalog’undaki her görsel ve renk için otomatik olarak Swift erişimcileri üretiyor. Bunlara resource başlatıcıları aracılığıyla erişiyorsun:
// Xcode 15+
Image(.customHeaderIcon)
Color(.primaryBrand)
Derleyici asset’lerini biliyor. Tam otomatik tamamlama alıyorsun ve bir asset’i silersen veya yeniden adlandırırsan, sessiz bir çalışma zamanı hatası yerine derleme zamanı hatası alıyorsun.
Apple SwiftGen’i Sherlocked Etti
Bu aslında Apple’ın SwiftGen’in yıllardır sunduğunu entegre etmesi. Halihazırda SwiftGen kullanan ekipler için, hala ona ihtiyaç duyup duymadığınızı değerlendirmek için iyi bir zaman. Yerleşik çözüm, en yaygın iki kullanım alanını – görseller ve renkler – herhangi bir build phase scripti veya kod üretme adımı olmadan kapsıyor.
SwiftGen’i fontlar, yerelleştirilmiş dizeler veya diğer kaynak türleri için kullanıyorsan, onu tutmak için hala nedenler var. Ama özellikle asset catalog’ları için, yerel çözüm artık çoğu proje için yeterince iyi ve sıfır yapılandırmayla kutudan çıkar çalışıyor.
