Peter 76e5a7fab6 Add 'submodules/HockeySDK-iOS/' from commit 'c7d0c7026303253e2ac576c02655691e5d314fe2'
git-subtree-dir: submodules/HockeySDK-iOS
git-subtree-mainline: 085acd26c4432939403765234266e3c1be0f3dd9
git-subtree-split: c7d0c7026303253e2ac576c02655691e5d314fe2
2019-06-11 18:53:14 +01:00

2.4 KiB

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 Version and Bundle Version String, short in 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 build number which increases by 1 for every version as CFBundleVersion in Info.plist
  • Additionally CFBundleShortVersionString in Info.plist will contain you target public version number as a string like 1.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:

  1. Pick File | New, choose Other and Configuration Settings File, this gets you a new .xcconfig file.

  2. Name it buildnumber.xcconfig

  3. Add one line with this content: BUILD_NUMBER = 1

  4. 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.

  5. There, you can choose Based on Configuration File for each of your targets for each of your configurations (debug, release, etc.)

  6. Select your target

  7. Select the Summary tab

  8. For Build enter the value: ${BUILD_NUMBER}

  9. Select the Build Phases tab

  10. Select Add Build Phase

  11. Choose Add Run Script

  12. Add the following content:

    if [ "$CONFIGURATION" == "AdHoc_Distribution" ]
         then /usr/bin/perl -pe 's/(BUILD_NUMBER = )(\d+)/$1.($2+1)/eg' -i buildnumber.xcconfig
    fi
    
  13. Change AdHoc_Distribution to the actual name of the Xcode configuration(s) you wnat the build number to be increased.

    Note: Configuration names should not contain spaces!

  14. If you want to increase the build number before the build actuallry starts, just drag it up