2012-10-17 15 views
7

Quando si compila un progetto, questo script deve incrementare di uno la versione di build del progetto Xcode, quando il nome utente di sistema corrisponde. Tieni presente che questi sono solo comandi Unix in uno script (non Applescript, Python o Perl) all'interno di Target-> Build Phases-> Esegui script in Xcode.Xcode Build Script (fasi di generazione-> Esegui script) Incrementa la versione di build in base al nome utente (utente)

Ho fatto "echo $ USER" nel terminale. Ciò stampa il nome utente dell'utente che ha effettuato il login, ed è la stessa stringa che ho inserito nell'istruzione condizionale nel secondo blocco di codice.

Il primo blocco di codice funziona. Il secondo, che aggiunge l'istruzione condizionale, non lo fa.

#!/bin/bash 
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE") 
buildNumber=$(($buildNumber + 1)) 
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE" 


#!/bin/bash 
username=$USER 
if [ username == "erik" ]; then 
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE") 
buildNumber=$(($buildNumber + 1)) 
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE" 
fi 

Sintassi preoccupazioni:
parsing $ USER (maiuscole e minuscole)
virgola a destra dopo la chiusura staffa if
Poi dichiarazione sulla stessa linea, come if

risposta

4

È possibile visualizzare il registro di script nel registro Navigator, con lo script che ho il seguente problema:

enter image description here

credo che il confronto di default è case sensitive, per rendere non sensibili è possibile modificare il nome utente per maiuscole/minuscole prima del confronto:

Come si può vedere, ho spostato $ USER nella condizione per evitare l'utilizzo di variabili aggiuntive e l'errore di script.

E il punto e virgola al blocco if-then è una cosa normale, controllare la pagina man. La parola then potrebbe essere spostata sulla nuova riga se è più comoda per la lettura.

+0

Fantastico! Funziona perfettamente! Grazie Signore. – Glimpse

Problemi correlati