DevTutorial #27 – Incremento automatico del numero di build e data in un progetto

In questo nuovo tutorial vedremo come realizzare una cosa molto particolare, che potrà tornare utile soprattutto quando distrubuirete l’applicazione a diversi beta tester.

Vedremo, infatti, come inserire all’interno del nostro progetto (oltre al classico numero di versione dell’applicazione) un numero di build progressimo, insieme anche alla data della build in questione.

Utilizzeremo uno script automatico, che ad ogni build creata aumenterà il numero di build e aggiornerà la data della build Potremo, così, avere sempre sotto controllo l’esatta versione della nostra applicazione, in modo da avere un controllo completo su tutte le versioni.

Buon tutorial!

1. Inseriamo lo script

Entriamo nel progetto in cui vogliamo inserire l’incremento automatico del numero di versione. Facciamo clic con il tasto destro sul nome del nostro progetto e scegliamo “Add -> New Build Phase -> New Run Script Build Phase”.

Si aprirà una schermata come questa:

in cui dovremo andare ad inserire lo script necessario. Eccovelo:

#!/bin/bash
# Auto Increment Version Script
buildPlist="prova-Info.plist"
CFBuildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBuildNumber" $buildPlist)
CFBuildNumber=$(($CFBuildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBuildNumber $CFBuildNumber" $buildPlist CFBuildDate=$(date) /usr/libexec/PlistBuddy -c "Set :CFBuildDate $CFBuildDate" $buildPlist

Ovviamente dovete modificare la stringa buildPlist=”prova-Info.plis”, inserendo il nome del vostro file “.plist” (che sarà nella forma “nome_progetto-Info.plist”).

Chiudete pure tale finestra.

2. Inseriamo le variabili necessarie

Spostatevi, ora, nella cartella “Resources” ed aprite il file “xxx-Info.plist” che trovate al suo interno (dove xxx è il nome del vostro progetto).

Utilizzando il “+” che appare di fianco alle voci già presenti, inserite due nuovi valori, rispettivamente chiamati “CFBuildDate” e “CFBuildNumber“. Non c’è bisogno che inseriate dei valori per queste due voci, in quanto verranno create automaticamente dallo script. Ecco come deve essere il vostro file “.plist”:

Potete notare che è già presente la stringa “Bundle version“, che identifica la versione della nostra applicazione. Sarà anche questo un valore che andremo a leggere. Salvate il file e chiudetelo pure.

3. Inseriamo il codice necessario

Non ci resta che inserire quelle poche istruzioni che ci permetteranno di leggere il numero di versione, il numero di build e la data dell’ultima build. Inserite, dove vi serve, il seguente codice:

NSString *versione = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBuildNumber"];
NSString *data = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBuildDate"];

Come vedete abbiamo ottenuto tre stringhe con i rispettivi tre valori, che potrete utilizzare a vostro piacimento!

Se Avete Problemi, questo è il nostro file di progetto.

Nota: per visualizzare lo script inserito espandete l’elemento “Targets” del progetto e fate doppio clic su “Run Script“.

La guida è stata creata da Andrea Busi per “Bubi Devs”, prendendo spunto da questa guida: “Auto Increment Build Number & Date in XCode iPhone Project“. I meriti, quindi, sono del legittimo autore.

Ingegnere informatico e sviluppatore freelance, mi occupo da anni di sviluppo per iOS (ma non solo). Dal 2008 scrivo su questo piccolo blog (con qualche lunga pausa), in cui parlo di programmazione e di qualsiasi altra cosa che mi diverta.

4 comments On DevTutorial #27 – Incremento automatico del numero di build e data in un progetto

Leave a reply:

Your email address will not be published.

Site Footer