XCode 4.4 bundle version updates not picked up until subsequent build

Posted by Mark Struzinski on Stack Overflow See other posts from Stack Overflow or by Mark Struzinski
Published on 2012-08-02T20:20:03Z Indexed on 2012/12/04 11:09 UTC
Read the original article Hit count: 260

Filed under:
|
|

I'm probably missing something simple here. I am trying to auto increment my build number in XCode 4.4 only when archiving my application (in preparation for a TestFlight deployment). I have a working shell script that runs on the target and successfully updates the info.plist file for each build. My build configuration for archiving is name 'Ad-Hoc'.

Here is the script:

if [ $CONFIGURATION == Ad-Hoc ]; then
    echo "Ad-Hoc build. Bumping build#..."
    plist=${PROJECT_DIR}/${INFOPLIST_FILE}
    buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")

    if [[ "${buildnum}" == "" ]]; then
        echo "No build number in $plist"
        exit 2
    fi

    buildnum=$(expr $buildnum + 1)
    /usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
    echo "Bumped build number to $buildnum"
else
    echo $CONFIGURATION " build - Not bumping build number."
fi

This script updates the plist file appropriately and is reflected in XCode each time I archive. The problem is that the .ipa file that comes out of the archive process is still showing the previous build number. I have tried the following solutions with no success:

  • Clean before build
  • Clean build folder before build
  • Move Run Script phase to directly after the Target Dependencies step in Build Phases
  • Adding the script as a Run Script action in my scheme as a pre-action

No matter what I do, when I look at the build log, I see that the info.plist file is being processed as one of the very first steps. It is always prior to my script running and updating the build number, which is, I assume, why the build number is never current in the .ipa file.

Is there a way to force the Run Script phase to run before the info.plist file is processed?

© Stack Overflow or respective owner

Related posts about xcode

Related posts about xcode4