• DevTutorial
  • Libro
  • Guide Mac
  • Giovedi Contest

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

The AuthorAndrea Busi The Time23 marzo 2010 Comments4
separator

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))
<div id="_mcePaste">/usr/libexec/PlistBuddy -c "Set :CFBuildNumber $CFBuildNumber" $buildPlist
CFBuildDate=$(date)
/usr/libexec/PlistBuddy -c "Set :CFBuildDate $CFBuildDate" $buildPlist</div>

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:

1
2
3
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.

separator
Condividi su FriendFeed
separator
Comments
4 Comments
separator
  1. Middiu

    ottimo, molto molto utile!!!

    RispondiRispondi
  2. Spinoricky

    Ciao Bubi, innanzi tutto ti faccio i complimenti per il tutorial (ottimo come sempre). Poi volevo dirti un altra cosa: ti ho inviato una mail 3-4 giorni fa… Non ho ricevuto nessuna risposta quindi l’ho rimanadata, potresti rispondermi?

    RispondiRispondi
  3. Andrea Busi

    @Spinoricky: appena riesco ti rispondo ;-)

    RispondiRispondi
  4. Spinoricky

    @ Andrea Busi : Grazie mille, ti ringrazio infinitamente…

    RispondiRispondi

Scrivi la tua!

© 2012 Bubi Devs. Powered by WordPress Designed by miniMAC
w3c Made in Mac