2011-10-21 13 views
13

Sto provando ad aggiungere un nuovo target al mio progetto Xcode in modo che possa eseguire la stessa app, ma con una sottile differenza.Come aggiungere un nuovo target iPhone

Per favore qualcuno può guidarmi attraverso l'impostazione di un nuovo obiettivo poiché è la mia prima volta e non sono sicuro di come farlo.

In particolare, sono interessato al modo in cui il nuovo obiettivo esegue il codice nell'app originale. Quando ho provato a creare un nuovo target, ho appena creato una nuova app delegata e il file viewController.

Scusate se questo è semplice, sono solo abbastanza confuso.

EDIT: prega di notare che io sto cercando dopo istruzioni basate in Xcode 4.

risposta

23

In xcode 4, assicurarsi di essere nella vista della cartella in cui si trova il progetto. Seleziona il pulsante blu del progetto, quindi accanto a quello puoi vedere Targets, Seleziona il target che hai lì, fai clic con il tasto destro del mouse su & seleziona duplicate target.

Ora hai due obiettivi di costruzione.

Per applicare sottili differenze nell'app, creare un flag C globale. in Build settings c'è un paragrafo chiamato GCC 4.2 - Language, ha una proprietà denominata Other C Flags. Aggiungi la tua bandiera qui in questo modo:

-DOTHER_VER 

Ora nel tuo codice è possibile verificare la presenza di questo utilizzo:

#ifdef OTHER_VER 
    // some code. 
#else 
    // the subtle difference. 
#endif 
+0

grazie per il tuo aiuto. Quando duplo il target, viene visualizzata una "Copia di destinazione", esiste un modo per rinominarlo in tutto il progetto, ad es. 'Target Pro'? –

+2

Sì, in Impostazioni di compilazione è presente una proprietà denominata Nome prodotto. – Wolfert

4

Se ho capito bene, this article è quello che stai cercando.

+0

Grazie per il vostro aiuto. Questo è gentile quello che sto cercando, comunque sto usando Xcode 4, conosci qualche tutorial basato su Xcode 4? –

+0

Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] (http://meta.stackexchange.com/q/8259) includere qui le parti essenziali della risposta e fornire il link per riferimento. –

+0

Sto seguendo le istruzioni, ma sembra che il duplicato di destinazione condivide lo stesso file info.plist. Lo duplo manualmente e assegna ciascun file plist alla destinazione corrispondente, ma non sembrano indipendenti. Quando ne cambio uno e poi lo compro, gli altri ereditano le stesse impostazioni, incluso il nome del file eseguibile, quindi non c'è modo di produrre due app separate dalla stessa base di codice senza dover duplicare il codice sorgente, a quanto pare. –

2

Dopo aver creato il vostro nuovo obiettivo dalle impostazioni del vostro progetto, è possibile creare una classe identificatore per controllare il bersaglio. Se si utilizzano macro ovunque nel codice, non sarà leggibile e fattibile. Puoi controllare this tutorial-blog per sapere come farlo, inoltre potresti vedere alcune buone pratiche lì.

Problemi correlati