2012-01-31 29 views
9

Bir ön işlemcinin tanımlanmış değerini bir ortam değişkeniyle dinamik olarak kontrol etmek istediğim bir yapılandırmam var.Xcode önişlemcisi, ortam değişkenine bağımlı

Bu mümkün mü? ortam değişkeni temel alınarak değeri ayarlamak istediğim önişlemci tanım tablosunda nasıl ayarlanır? Projenizin bir hedefin "İnşa Ayarları"

cevap

2

, siz "Preprocessor makroları" alanına böyle bir şey ekleyebilirsiniz:

Elbette
DEV_USERNAME="${USER}" 

, USER değişken herhangi bir ortamda ile değiştirilebilir Xcode yapı sistemi için kullanılabilir değişken. Bunların bir listesini almak için, hedefinize bir çalışma komut dosyası ekleyebilir ve "Oluşturma günlüğündeki ortam değişkenlerini göster" onay işaretini etkinleştirebilirsiniz.

Kodunuzda DEV_USERNAME önişlemci makrosunu kullanabilirsiniz. Eğer bir dize olarak kullanmak istiyorsanız, bunu "stringify" olabilir:

#define xstr(s) str(s) 
#define str(s) #s 

xstr(DEV_USERNAME) 

Bu, çift tırnak içine kullanıcı adı verecektir.

+0

İlginç bulacağınız bir şeyle karşılaştım (ya da değil), http://stackoverflow.com/a/30396593/734860 ​​adresinde bir ganimeti ele geçirdim – entonio

+0

İlginç, gerçekten! Ama belki bu durumda değil. – MonsieurDart

+0

Evet, bu soru daha genel. – entonio