57 votes

Numéro de build Xcode-Increment uniquement pendant ARCHIVE?

J'ai trouvé quelques posts qui montrent comment ajouter un script pour incrémenter le numéro de build avec un script:

Xcode: Meilleur moyen d'incrémenter le numéro de build?

Xcode du projet "numéro de Build"

Peut Xcode insérer le numéro de version dans une bibliothèque de nom de fichier lors de la construction?

Mais ce que je veux, c'est seulement d'augmenter le numéro de version lorsque j'utilise l'ARCHIVE (avant et après).

Exemple: Si le numéro de build est de 21, alors quand je choisir le Produit > Archive le numéro de version sera augmenté à 22, il faudra passer par son processus de construction et la création de l'Archive de fichier avec le numéro de build de 22, et puis quand c'est fini l'archivage, il va augmenter le numéro de build à 23.

80voto

lnafziger Points 18241

Ajoutez le script suivant, comme dans l'exemple indiqué dans le premier lien que vous avez publié, MAIS faites-le deux fois. Une fois au début de la construction et une fois à la fin:

 if [ $CONFIGURATION == Release ]; then
    echo "Bumping build number..."
    plist=${PROJECT_DIR}/${INFOPLIST_FILE}

# increment the build number (ie 115 to 116)
    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
 

Un grand merci aux auteurs des questions que vous avez liées dans votre question pour les informations qui m'ont permis de commencer cette réponse!

23voto

ccwasden Points 477

Ceci est très similaire à @Inafziger de la réponse, mais plus concis ensemble de code, avec l'avantage supplémentaire que la case à cocher pour "Libération" se fait avec une case à cocher dans XCode plutôt qu'une variable d'exécution:

enter image description here

Suivez ces instructions à deux reprises, en faisant glisser l'un au début et un à la fin:

# xcode-build-bump.sh
# @desc Auto-increment the build number every time the project is run. 
# @usage
# 1. Select: your Target in Xcode
# 2. Select: Build Phases Tab
# 3. Select: Add Build Phase -> Add Run Script
# 4. Paste code below in to new "Run Script" section
# 5. Drag the "Run Script" below "Link Binaries With Libraries"
# 6. Ensure that your starting build number is set to a whole integer and not a float (e.g. 1, not 1.0)
# 7. Check the checkbox "Run script only when installing"

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}"

Voir https://gist.github.com/sekati/3172554

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X