Birçok durumda, koşullu derlemeye gerçekten ihtiyacınız yoktur ; sadece açıp kapatabileceğiniz koşullu davranışa ihtiyacınız var . Bunun için bir ortam değişkeni kullanabilirsiniz. Bu, aslında yeniden derlemek zorunda olmadığınız büyük bir avantaja sahiptir.
Ortam değişkenini şema düzenleyicide ayarlayabilir ve kolayca açıp kapatabilirsiniz:
Ortam değişkenini NSProcessInfo ile alabilirsiniz:
let dic = NSProcessInfo.processInfo().environment
if dic["TRIPLE"] != nil {
// ... do secret stuff here ...
}
İşte gerçek hayattan bir örnek. Uygulamam yalnızca cihazda çalışıyor, çünkü Simülatör'de bulunmayan müzik kitaplığını kullanıyor. Öyleyse, sahip olmadığım cihazlar için Simülatör'de ekran görüntüleri nasıl çekilir? Bu ekran görüntüleri olmadan AppStore'a gönderemiyorum.
Sahte verilere ve işlemenin farklı bir yoluna ihtiyacım var . İki ortam değişkenim var: biri, açıldığında, uygulamaya cihazımda çalışırken gerçek verilerden sahte veriler oluşturmasını söyler; diğeri, açıldığında, Simülatörde çalışırken sahte verileri (eksik müzik kütüphanesini değil) kullanır. Şema düzenleyicideki ortam değişkeni onay kutuları sayesinde bu özel modların her birini açmak / kapatmak kolaydır. Ve bonus, onları yanlışlıkla App Store derlememde kullanamam çünkü arşivlemenin ortam değişkenleri yok.