git version sha in iOS apps

Thu, 06. Jun 2013

Categories: en development Tags: git iOS iPhone plist PlistBuddy sha version XCode

there’s tons of recipes out there how to do this โ€“ nevertheless I want to add another one:

  1. create a new build phase (here named „Git Sha -> Info.plist“)
  2. paste
# write git version SHA into Info.plist
#
# inspired by
# - http://kswizz.com/post/2686511526/git-xcode-versioning
# - http://stackoverflow.com/a/12658311
cd "$PROJECT_DIR"
# say hello
/usr/libexec/PlistBuddy -c "Set :CFBundleVersionGitSHA $(git rev-parse --short HEAD)" "$TARGET_BUILD_DIR/$INFOPLIST_PATH"
  1. add keyย CFBundleVersionGitSHA with placeholder text to your Info.plist

I went for this one because

  1. easy setup,
  2. no build/compiler settings changes,
  3. doesn’t interfere with ‘normal’ versioning,
  4. simplest I’ve seen so far, no dependencies except git,
  5. explicit failure if e.g. git is missing.

Credits: