2013-01-08 13 views
12

Ho un'applicazione iOS con uno schema di compilazione TestFlight. In questo schema ho impostato una variabile d'ambiente chiamata TESTFLIGHT con un valore di 1 set nella scheda "Esegui". Inoltre, nella scheda "Profilo" dello schema di build ha l'opzione "Usa l'opzione e le variabili dell'azione RUn" selezionata, e vedo l'EV appropriato nell'elenco.Variabili d'ambiente Xcode non presenti durante l'archivio

Questo funziona perfettamente quando si esegue l'applicazione da Xcode, ma quando faccio un archivio ed eseguo l'app sul mio dispositivo non è presente la variabile di ambiente TESTFLIGHT. La mia domanda è una scheda opzione/schema che mi manca qui?

L'EV è impostato sulla scheda "Esegui" ed è selezionato per la configurazione di compilazione del debug. Devo cambiare questo per rilasciare?

Grazie a tutti!

risposta

20

Le variabili di ambiente sono impostate solo se si esegue l'app da Xcode. Se esegui la stessa app direttamente dal dispositivo toccando l'icona, non verranno impostate. Non fanno parte dell'app. Come suggerisce il loro nome, fanno parte dell'ambiente, che Xcode imposta in modo specifico prima di eseguirli. (Se stavi sviluppando sul Mac, potresti impostarli in una shell prima di avviare un eseguibile, ma ciò non è possibile su iPhone.)

+2

Grazie per la spiegazione. Quello che sto cercando di fare è avere uno schema di build che posso usare per costruire per la distribuzione di TestFlight che avrà l'app utilizzare un URL di sviluppo da cui estrarre i dati, e poi avere un altro schema di build per la produzione che userà l'URL di produzione quando l'app piste. Qualche suggerimento su come questo potrebbe essere implementato? –

+7

Utilizza macro di preprocessore. Nelle impostazioni di generazione del target, è necessario creare una nuova configurazione di compilazione "TestFlight" (per impostazione predefinita ci sono "Debug" e "Rilascio"), quindi in Macro preprocessore, aggiungere una nuova macro (ad esempio 'TESTFLIGHT = 1') per la configurazione "TestFlight". Nel tuo codice, usa le istruzioni del preprocessore come '#ifdef TESTFLIGHT ... #else ... # endif'. Nei tuoi schemi, puoi scegliere la configurazione di build "TestFlight" nella scheda "Informazioni" per l'azione desiderata. – Guillaume

+0

(Per creare la configurazione di generazione, è necessario selezionare il progetto, quindi controllare la scheda Informazioni.) – Guillaume

Problemi correlati