2014-10-22 9 views
5

İnsanların hataları doğrudan onlardan raporlayabildiği bir uygulama var, ancak kullanıcının uygulamanın hangi sürümde oluşturulduğunu gönderebilmesini istiyorum. Xcode, bu bilgileri içerecek bir #define gösterir mi yoksa bazı özel derleme komut dosyasına dahil etmem gerekir mi?Xcode'ta git commit hash nasıl ekleyebilirim?

+2

Bu yardımcı olacaktır: http://stackoverflow.com/questions/8192921/set-xcode-bundle-version-to-git-hash – gagarwal

cevap

10

Gagarwal tarafından belirtilen cevaba dayanan bir uygulama yazdım. Son taahhüt karma değer çalıştırıcı mevcuttur,

[[NSBundle mainBundle] infoDictionary][@"GIT_COMMIT_HASH"]; 

Ve işte: arayarak Benim kod

/usr/libexec/PlistBuddy -c "Set :GIT_COMMIT_HASH `git rev-parse HEAD`" "${TARGET_BUILD_DIR}"/"${INFOPLIST_PATH}" 

Ben ona başvuru: Ben derleme aşamasından önce benim yapı aşamalarına bu yapı komut eklendi zaman!

+0

"Set: Giriş,": GIT_COMMIT_HASH "alıyorum, mevcut değil ' – DavidH

+2

@DavidH girişiniz zaten bilgi plistinizde olmalıdır, bu yüzden yapılmadan önce GIT_COMMIT_HASH' plist'te bulunun ve yapım zamanında doldurulur. –

+0

Teşekkürler! Çalışıyorum. – DavidH

İlgili konular