Xcode Configuration Kullanımı: Farklı Build Ayarlamaları

Bir projenin başlangıcından markete konulmasına kadar geçen sürede, proje farklı ayarlamalar ile defalarca build edilmektedir. Öncelikle projenin geliştirilme aşamalarında yazılımcılar “Geliştirme” ortamı ayarlarını kullanarak süreci yürütürler. Ardından belli bir özelllik geliştirildikten sonra test işlerinin halledilmesi için “Test” ortamı ayarları ile build edilerek test mühendisi arkadaşlara sunulur. Bu süreç markete çıkıldıktan sonra bile ek özellikler olacağı veya bakım işleri olacağı için devamlı bir şekilde ilerler. Projenin markete hazır olduğu anda bu kez “Production” ayarları ile mağazaya yollanır.

Bir takım, “Geliştirme”, “Test” ve “Production” olmak üzere, ayarlardan bahsettik. Bu ayarların ne için yapıldıklarına kısaca göz atalım. Örneğin geliştirme ortamının servis URL’i ile test veya production ortamının servis URL’i aynı olmayacaktır. Uygulama adı, bundle ID’ler, varsa Firebase ID’ler, uygulama ikonları vb. özellikler ortamlar arasında farklılıklar gösterebilir.

Bu değişiklikleri efektif bir şekilde ele alabilmemiz için Xcode içerisinde (.xconfig) uzantılı dosyalar bulunur. Bu dosyaların içerisine Anahtar-Değer şeklinde build ayarlarımızı yazar ve sonrasında istediğimiz buildi istediğimiz (.xconfig) dosyası ile alabiliriz.

Uygulama

Öncelikle yeni bir Xcode projesi yarattıktan sonra projemize en az iki adet (.xconfig) dosyası ekleyelim. Bunu yapmak için “Project Navigator” ekranından projemize sağ tıklayıp “New File” seçeneğini seçiyoruz.

Ardından “Configuration Settings File” seçeneğini bulup istediğimiz ismi verip dosyamızı oluşturuyoruz.

Devamında en az iki adet oluşturduğumuz .xconfig dosyalarımızın içerisine istediğimiz iki ayarlamayı Anahtar-Değer şeklinde yazıyoruz.

Sonrasında dosyalara anahtar olarak yazdığımız değerleri projemizin Info.plist dosyasına tanıtıyoruz.

Ardından “Project Info” ekranına gidiyoruz ve buradan projemize yarattığımız .xconfig dosyalarını baz alacak Configuration seçeneklerini oluşturuyoruz.

Ardından (+) tuşunu kullanarak eklediğimiz Configuration’lar için oluşturduğumuz (.xconfig) dosyalarını kullanmasını söylüyoruz.

Sıra projemiz için Scheme yaratmaya geldi. Her bir Configuration için bir adet Scheme yaratıyoruz.

Gerekli tüm Scheme’leri yarattıktan sonra Edit Scheme seçeneğini seçerek Scheme’ler için gerekli Configuration’ları ayarlıyoruz.

Edit Scheme seçimini yaptıktan sonra bizi böyle bir ekran karşılayacaktır. Bu ekranda sol üstten (EnvironmentDev yazılı) istediğimiz Scheme’e geçiş yapabiliriz.

Şimdi burada yer alan Build Configuration özelliğini her bir scheme için istediğimiz Configuration’a ayarlıyoruz.

Gerekli tüm ayarlamaları yapmış bulunmaktayız.

Şimdi küçük bir Environment Struct’ı kullanarak configuration seçeneğimize göre istenilen (.xconfig) dosyasından verilerimizi okumaya başlayalım.

Burada basit bir Singleton kullanıyoruz. Parametre almadan çağırılan init’inde istenilen (.xconfig) dosyasına giderek yolladığımız anahtar’ın değerini bize gönderiyor. Name kısmını enum şeklinde oluşturmamın sebebi de projenin belli kısımlarında hangi ortamda hangi kod bloğunun çalışmasını istersem basit bir switch-case kullanabilmektir.

Son olarak AppDelegate içerisinden ortam adını çağırarak konsola yazdıralım.

Sonuç:

Vakit ayırıp okuduğunuz için çok teşekkür ederim. Umarım birilerine yardımı dokunmuştur. 🙂

 

 

“Xcode Configuration Kullanımı: Farklı Build Ayarlamaları” üzerine 1 yorum.

Bir cevap yazın