İçeriğe geç

Xcode 15 Tip Güvenli Asset Catalog Erişimi Getiriyor

Xcode 15, asset catalog'larındaki görseller ve renkler için tür güvenli Swift erişimcileri oluşturarak SwiftGen ihtiyacını ortadan kaldırıyor.

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)

Xcode showing autocomplete suggestions for asset catalog resources

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.

İşine yaradı mı? Swift ipuçları ve indie geliştirici güncellemeleri için Bluesky ve Mastodon üzerinden takip et.