In Xcode, passare alla configurazione di build per un obiettivo. Trova la sezione chiamata Swift Compiler - Bandiere personalizzate, che contiene un'impostazione denominata Altre bandiere Swift.
Aggiungi un flag da riga di comando per il compilatore per aggiungere un flag, proprio come faresti con il compilatore C.
Ora hai -D Something
essere passato al compilatore Swift. Nel codice Swift, è ora possibile fare questo:
#if Something
let foo = "bar"
#endif
Sembra un po 'come il preprocessore C, ma a differenza di C, tutto il codice in tutte le sezioni condizionali deve essere sintatticamente corretto o il programma non verrà compilato. Quindi, puoi impostare un flag su ciascun target nelle impostazioni di build e usarlo nel tuo codice.
Ancora più importante, tutto il codice in un '# se', attivo o no, deve anche essere un'unità sintattica * completa *. Quindi non puoi, ad esempio, mettere un # # if/# else/# endif' attorno a una dichiarazione 'func' e lasciare il corpo della funzione all'esterno di' # if'. – rickster
è questo lavoro nello storyboard, voglio cambiare l'immagine in base all'obiettivo nello storyboard –
Non capisco. non dovrebbe essere 'if Something == QA' else if Something == Stage' ... Nel modo in cui lo hai scritto, sembra che ** l'esistenza ** di quella bandiera sia tutto ciò che è necessario. Cosa accadrebbe se due build hanno la stessa bandiera ?! – Honey