Auto-Incrementing Build Number Script

I got this from somewhere I can’t remember. I’ve been using it a while and it works very well. I have it setup so that it will happen whenever I archive a new build for beta or release. You’ll want to change those configuration names to whatever your configuration names are in your project.

if [ "${CONFIGURATION}" = "Release" ] || [ "${CONFIGURATION}" = "Ad Hoc" ]; then
    buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
    buildNumber=$(($buildNumber + 1))
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
fi

Add a “run script” phase to your targets build phases with this script and put it just below “Link Binary With Libraries”.

Collin Donnell @collin