-
-
Save johankool/c33cffc0727b13f22f25 to your computer and use it in GitHub Desktop.
| # | |
| # Set the build number to the current git commit count. | |
| # If we're using the Dev scheme, then we'll suffix the build | |
| # number with the current branch name, to make collisions | |
| # far less likely across feature branches. | |
| # Based on: http://w3facility.info/question/how-do-i-force-xcode-to-rebuild-the-info-plist-file-in-my-project-every-time-i-build-the-project/ | |
| # | |
| git=`sh /etc/profile; which git` | |
| appBuild=`"$git" rev-list --all |wc -l` | |
| if [ $CONFIGURATION = "Debug" ]; then | |
| branchName=`"$git" rev-parse --abbrev-ref HEAD` | |
| /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $appBuild-$branchName" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" | |
| else | |
| /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $appBuild" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" | |
| fi | |
| echo "Updated ${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" |
Just in case you were wondering how to get commit hash from commit index number it will do:
git rev-list --skip=$((git rev-list --count HEAD-COMMIT_INDEX_NUMBER-1)) HEAD | head -1
@wczekaiski cool
I just had this issue, the build number generated by my machine is different from the one generated by a team mate. My commit number is also different from the commit number shown on GitHub.
I had some troubles with the generated number and looked better at the documentation of git rev-list. The --all option pretend[s] as if all the refs in refs/ are listed on the command line as . This, I assume, means that all the commit I have in branches that are not merged into master will be counted as well.
A better command would be git rev-list HEAD --count, which is what @wczekalski is using, and also faster to execute.
Thoughts?
Neat!
I had an issue with HockeyApp though, when trying to upload an
ipaanddSYMpair I got back an unexpected build number error.Looking into the
dSYMInfo.plistI actually confirmed that theCFBundleVersionnumber was the one in the project'sInfo.plistrather than the automatically generated one.I've fixed it by updating the
dSYMinfo dictionary as well, like this:@johankool does it make sense? Is there a better combo of values to use? I don't like that
Contents/Info.plisthanging there, but I couldn't find better build parameters.Thank 🍻