Introduction
We suggest to handle beta and release versions in two separate apps on HockeyApp with their own bundle identifier (e.g. by adding “beta” to the bundle identifier), so
- both apps can run on the same device or computer at the same time without interfering,
- release versions do not appear on the beta download pages, and
- easier analysis of crash reports and user feedback.
We propose the following method to set version numbers in your beta versions:
- Use both
Bundle VersionandBundle Version String, shortin your Info.plist. - “Bundle Version” should contain a sequential build number, e.g. 1, 2, 3.
- “Bundle Version String, short” should contain the target official version number, e.g. 1.0.
HowTo
The recommended way to do versioning of your app versions is as follows:
- Each version gets an ongoing
buildnumber which increases by1for every version asCFBundleVersioninInfo.plist - Additionally
CFBundleShortVersionStringinInfo.plistwill contain you target public version number as a string like1.0.0
This ensures that each app version is uniquely identifiable, and that live and beta version numbers never ever collide.
This is how to set it up with Xcode 4:
- Pick
File | New, chooseOtherandConfiguration Settings File, this gets you a new .xcconfig file. - Name it
buildnumber.xcconfig - Add one line with this content:
BUILD_NUMBER = 1 - Then click on the project on the upper left in the file browser (the same place where you get to build settings), click on the project again in the second-to-left panel, and click on the Info tab at the top of the inner panel.
- There, you can choose
Based on Configuration Filefor each of your targets for each of your configurations (debug, release, etc.) - Select your target
- Select the
Summarytab - For
Buildenter the value:${BUILD_NUMBER} - Select the
Build Phasestab - Select
Add Build Phase - Choose
Add Run Script Add the following content:
if [ "$CONFIGURATION" == "AdHoc_Distribution" ] then /usr/bin/perl -pe 's/(BUILD_NUMBER = )(\d+)/$1.($2+1)/eg' -i buildnumber.xcconfig fiChange
AdHoc_Distributionto the actual name of the Xcode configuration(s) you wnat the build number to be increased.Note: Configuration names should not contain spaces!
- If you want to increase the build number before the build actuallry starts, just drag it up