2014-10-22 14 views
5

Ho un'applicazione, che le persone possono segnalare bug direttamente da esso, ma mi piacerebbe che l'utente fosse in grado di inviare su quale git hash è stata creata l'applicazione. Xcode espone un #define che includerà queste informazioni o dovrei includerlo in alcuni script di compilazione personalizzati?Come posso includere l'hash di commit git in Xcode?

+2

Questo aiuterà: http://stackoverflow.com/questions/8192921/set-xcode-bundle-version-to-git-hash – gagarwal

risposta

10

Ho scritto un'implementazione basata sulla risposta citato da gagarwal. Ho aggiunto questo script build per le mie fasi di creazione prima della fase di compilazione:

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

Nel mio codice ho Riferimento chiamando:

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

E voilà, il vostro ultimo valore commettere hash è disponibile al run- tempo!

+0

Ricevo 'Set: Entry,": GIT_COMMIT_HASH ", non esiste ' – DavidH

+2

@DavidH devi avere la voce già nel tuo info plist, quindi prima di essere creato ho' GIT_COMMIT_HASH 'nel plist e viene popolato al momento della compilazione. –

+0

Grazie! Ho funzionato. – DavidH

Problemi correlati