2014-10-22 4 views
5

मेरे पास एक एप्लिकेशन है, जो लोग सीधे से बग की रिपोर्ट कर सकते हैं, लेकिन मैं चाहता हूं कि उपयोगकर्ता यह सबमिट करने में सक्षम हो कि एप्लिकेशन किस गिट हैश पर बनाया गया था। क्या एक्सकोड एक # परिभाषा का पर्दाफाश करता है जिसमें यह जानकारी शामिल होगी या क्या मुझे इसे कुछ कस्टम बिल्ड स्क्रिप्ट में शामिल करना होगा?मैं एक्सकोड में गिट प्रतिबद्ध हैश कैसे शामिल कर सकता हूं?

+2

इससे मदद मिलेगी: http://stackoverflow.com/questions/8192921/set-xcode-bundle-version-to-git-hash – gagarwal

उत्तर

10

मैंने गगारवाल द्वारा उद्धृत उत्तर के आधार पर एक कार्यान्वयन लिखा है। फोन करके

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

मेरी कोड में मैं इसे संदर्भ:: मैं संकलन चरण से पहले अपने निर्माण चरणों के इस बिल्ड स्क्रिप्ट जोड़ा

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

और देखा, अपने पिछले प्रतिबद्ध हैश मान रन पर उपलब्ध है पहर!

+0

मुझे 'सेट: एंट्री,': GIT_COMMIT_HASH "मिल रहा है, मौजूद नहीं है ' – DavidH

+2

@ डेविड एचडी आपके पास पहले से ही आपकी जानकारी प्लिस्ट में प्रविष्टि है, इसलिए निर्मित होने से पहले मेरे पास' GIT_COMMIT_HASH 'प्लिस्ट में है और यह बिल्ड समय पर आ गया है। –

+0

धन्यवाद! मुझे यह काम मिल गया। – DavidH

संबंधित मुद्दे