2012-09-12 16 views
8

पर गिट प्रतिबद्धता SHA जोड़ें, जब मैं अपनी प्रोजेक्ट को मेरे ऐप में बनाया गया था, तो मैं वर्तमान गिट एसएचए दिखाना चाहता हूं। कम से कम प्रयास के साथ आईओएस परियोजना में ऐसा करने का एक अच्छा तरीका क्या है?आईओएस एप्लिकेशन

उत्तर

6

आप इसे योजनाओं में कर सकते हैं। अपनी योजना (संपादित करें) खोलें, अपनी योजना में बिल्ड का विस्तार करें, प्री-एक्शन पर क्लिक करें, + बटन पर क्लिक करें, नई रन स्क्रिप्ट एक्शन चुनें और कुछ स्क्रिप्ट लिखें जो SHA प्राप्त करती है और कुछ हेडर फ़ाइल संशोधित करती है जहां आप SHA डाल सकते हैं (सबसे आसान तरीका है #define GIT_SHA @"...") और अपने ऐप में GIT_SHA का उपयोग करें जहां आप इसे प्रदर्शित कर सकते हैं।

+1

"कुछ लिपि लिखें" भाग गैर-तुच्छ भाग है। आपका जवाब मूल रूप से _ "मैं संकलन समय पर कुछ कैसे कर सकता हूं" _ जब प्रश्न अनिवार्य रूप से _ "मैं संकलन समय पर एक्सकोड कैसे कर सकता हूं वर्तमान गिट एसएचए प्राप्त कर सकता हूं और इसे उद्देश्य-सी/स्विफ्ट कोड के लिए सुलभ बना सकता हूं" _। –

16

संस्करण 2.17। एक85b242 बनाएँ।

आप ऊपर इस प्रकार का बहुत संस्करण को जोड़ने के लिए, बस इन चरणों का पालन करें:

  1. ओपन Build PhasesXcode
  2. प्रेस Add Build Phase
  3. प्रेस Add Run Script Build Phase में। आप इसे शीर्ष मेनू संपादक में पा सकते हैं। Target Dependencies के बाद स्थिति में स्क्रिप्ट-लाइन खींचें।
  4. सेट शैल/bin/sh
  5. करने के लिए लाइन स्क्रिप्ट क्षेत्र के नीचे स्क्रिप्ट सेट करें। स्रोत को अपने पथ-टू-फाइल में बदलने के लिए मत भूलना, जहां GitVersion.h होना चाहिए। उदाहरण के लिए:

    version=$(git rev-parse --verify HEAD | cut -c 1-7) 
    curdate=$(date +"%d.%m.%y") 
    
    filesource="//\n// GitVersion.h\n//\n// Created by sig on $curdate.\n//\n\n#ifndef GitVersion_h\n#define GitVersion_h\n\n#define GIT_SHA_VERSION @\"$version\"\n\n#endif" 
    
    cd ${SOURCE_ROOT}/${PROJECT_NAME} 
    echo -e "$filesource" > Sources/GitVersion.h 
    
    touch Sources/GitVersion.h 
    
  6. आयात GitVersion.h में फ़ाइल Xcode परियोजना

  7. इन पंक्तियों पेस्ट करें: छवियों के साथ

    NSDictionary *info = [[NSBundle mainBundle] infoDictionary]; 
    NSString *version = [info objectForKey:@"CFBundleShortVersionString"]; 
    NSString *app_version = [NSString stringWithFormat:@"Version %@. Build %@.", version, GIT_SHA_VERSION]; 
    
    NSLog(@"app_version : %@", app_version); 
    

पूरी तरह से प्रलेखित जवाब और वर्णित फायदे हो सकता है here मिला।

+0

इस पर नकारात्मक वोट क्यों? – Boon

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