2015-04-14 19 views
5

Utilizziamo i sapori del prodotto in Android per mantenere lo stesso codice sotto il controllo del codice sorgente, ma condizioniamo in modo condizionale gli endpoint ai server di sviluppo/dev/qa in base al sapore selezionato. Per riferimento:Esiste un concetto equivalente nello sviluppo iOS per un prodotto Android?

http://tools.android.com/tech-docs/new-build-system/build-system-concepts

Ad esempio, quando si vuole testare un nuovo endpoint nell'ambiente "dev" Possiamo avere un file in src/dev/res/values/endpoints.xml che ha una voce che è l'equivalente XML di urlbase = https://dev-endpoint.ourserver.com/v3/, e costruire usando l'aroma del prodotto "dev" per costruire un APK puntato al nostro ambiente di sviluppo.

Esiste un concetto equivalente per lo sviluppo di iOS?

risposta

11

Sì. Se selezioni il tuo progetto nella barra di sinistra, quindi seleziona il tuo Progetto sotto Progetto nella barra interna sinistra e seleziona Info nella barra superiore interna, vedrai una sezione denominata Configurazioni. Puoi configurazioni qui.

Quindi selezionare il Target sulla barra interna sinistra e selezionare Impostazioni di creazione nella barra superiore interna. Cerca "preproc" nella casella di ricerca. Sotto la sezione LLVM di Apple - Preelaborazione, è possibile aggiungere macro di preprocessore personalizzate. Per le configurazioni, definire qualcosa come "DEV = 1", ecc

Ora nel codice si può dire #if DEV, ecc

Molti progetti utilizzano AFNetworking a parlare con il loro back-end. È possibile impostare baseURL per la sottoclasse AFHTTPSessionManager o qualsiasi altra cosa, in base alle definizioni.

+1

Ci sono altri modi per farlo, ma saranno tutti basati su Configurazioni. –

+0

Quindi, se ho 3 ambienti che voglio supportare (dev, qa e prod) mi occorrerebbero 6 configurazioni di build per supportare il debug/release per ciascuno. Destra? – Joe

+0

Sì. Ma hai davvero bisogno di un rilascio per dev? E qa? –

Problemi correlati