Domanda

La mia domanda è questa: ho un'applicazione progettata per iPhone e ho deciso di sborsare il codice, in altre parole, svilupperò due versioni dell'applicazione in questa fase iniziale, una per iPhone e l'altra per iPad.

La mia domanda è questa: come faccio a sborsare il codice? Vorrei continuare a utilizzare un progetto per entrambe le versioni ma, ovviamente, dovrò scrivere sezioni di codice per iPhone e altre sezioni esclusivamente per iPad e, ovviamente, avrò molte parti in comune per entrambe le versioni.

Come lo faccio senza creare un disastro sul codice?

Quali sono le migliori pratiche? Grazie per qualsiasi aiuto.

È stato utile?

Soluzione

Il problema con i molteplici obiettivi è che potrebbe essere in conflitto con il modello di distribuzione.

Da quello che ho capito, le applicazioni iPad e iPhone saranno distribuite come a separare binario. L'applicazione ha deciso se mostrare l'interfaccia utente iPad o iPod in fase di esecuzione.

Ciò significa che se non si desidera separare le app sul negozio, "Foo" e "Foo iPad Edition", non puoi usare più obiettivi e che in qualche modo lo farai avere per lavorare con una base di codice.

Lo odio perché potrebbero esserci molte cose condizionali nell'app. Se iPad allora fallo, altrimenti fallo. Se iPhone, mostra questo controller di visualizzazione, mostra altrimenti l'altro. Non mi comporterà a portare a un bel codice.

Quindi quello a cui sto attualmente pensando è fare qualcosa nel mezzo: creerò fondamentalmente due basi di codice e da qualche parte molto presto nell'app deciderò di seguire un percorso di codice iPad o iPhone completo.

Altri suggerimenti

È possibile configurare il tuo progetto Xcode per utilizzare più target, quindi è possibile assegnare un file di codice sorgente a un target o ad un altro o ad entrambi

Non sono uno sviluppatore di iPhone, ma da ciò che ST3Fan indica (che deve essere distribuito come un singolo binario), sembra un caso classico per il modello di fabbrica. Qualsiasi cosa diversa è implementata in due modi separati (con un'interfaccia comune) e la fabbrica sputa un'implementazione diversa in base a se si trova su un iPhone o iPad. Il codice comune non deve cambiare, quindi può rimanere così com'è.

Rispondo ai tuoi punti: 1) "Come faccio quell'assegnazione" Devi creare un nuovo obiettivo dal menu del progetto nel mio caso, uso due diversi obiettivi per un gioco per iPhone (una versione normale e gratuita (lite))

  so I created a second Target of Type Application
  this will add a Target to the Groups & Files panel
  and will create a new Info.plist file

  in the Group&File you can show more columns (by right clicking)
  on "Group&Files"), here you have to show the "Target Memebership column"
  for each file you can decide if it is part of a target by pressing the
  corresponding check box

2) "Che ne dici di parti dei codici" Non so se l'attuale SDK beta utilizzato per lo sviluppo di applicazioni iPad contiene un po 'di #define che potresti testare durante la compilation in ogni caso in ogni caso è possibile impostare un #define dedicato a livello di destinazione e testare questo a Fai qualche compilazione condizionale

È possibile trovare informazioni molto dettagliate sulla costruzione di applicazioni con più obiettivi nella documentazione di Apple dedicata È possibile non caricarle dal Centro Dev iPhone È necessario leggere questa guida "Guida alla gestione del progetto Xcode"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top