iOS: framework statici con versione vs Git Submodule e codice incluso

4

Negli ultimi due anni ho sviluppato framework statici di API comuni per i miei progetti iOS. Posso creare un binario universale contenente tutte le architetture (i386, armv6, armv7) e racchiuderlo in una struttura di directory .framework. Ho quindi memorizzato questo in una directory basata sulla versione del framework. Ad esempio ..../myAPI/v0.1.0/myAPI.framework

Una volta ottenuto questo framework, posso quindi aggiungerlo facilmente a un progetto e, se voglio far avanzare la versione, è sufficiente modificare i percorsi di ricerca del framework nella versione successiva.

Funziona, ma l'approccio è molto simile a quello che userei nel mondo Java.

Recentemente ho letto sull'uso dei sottomoduli Git e dei sottoprogetti di framework statici in XCode 4.

Mi chiedo se il mio approccio attuale sia qualcosa che dovrei ritenere opportuno andare in pensione e quali sono i pro / contro del nuovo approccio.

Sono stanco di includere solo il codice perché ho già avuto problemi in un progetto di lavoro che aveva (in modo efficace) più versioni di un'API di terze parti.

Qualche opinione?

    
posta drekka 18.06.2012 - 03:33
fonte

3 risposte

1

Dipende davvero. Qual è il tuo obiettivo principale? Versioni statiche e affidabili o permanenza nel bordo?

Questo è, più o meno, lo stesso dilemma che un utente comune dovrebbe affrontare quando decide se vuole installare un'applicazione dal suo gestore di pacchetti o direttamente dal sito dello sviluppatore (per esempio: la versione di Ogre3D è molto più avanti di quella che è su repository di Ubuntu).

Se vuoi stare al passo con le tue API, vai avanti e usa i sottomoduli git. Ti darà un sacco di flessibilità quando vuoi aggiornare il tuo software.

Se vuoi rimanere con versioni affidabili e non vuoi modificare molto le funzioni che il tuo codice chiamerà (poiché questa è una cosa che accade molto quando aggiorni un'API), allora continua a fare lo stesso hanno fatto.

    
risposta data 26.06.2012 - 22:37
fonte
1

In realtà stai parlando di due cose diverse che hanno quasi lo stesso problema. I framework riguardano la distribuzione di più versioni di una libreria e risorse associate, mentre git è, ovviamente, tutto sulla gestione di più versioni del codice sorgente. Questo tipo di importo equivale alla stessa cosa su iOS, dove le app non sono in grado di collegarsi dinamicamente a framework di terze parti (cioè non Apple).

Quindi, hai usato framework per gestire le librerie per la tua app, e ora stai pensando di usare i moduli git invece. Di nuovo, poiché non sei in grado di sfruttare il collegamento dinamico, dovresti ottenere lo stesso risultato in entrambi i casi. Detto questo, la differenza principale è che il tuo flusso di lavoro potrebbe cambiare un po '.

I framework sicuramente non stanno andando via su iOS - se il tuo sistema attuale funziona bene per te, continua a usarlo.

    
risposta data 22.06.2012 - 00:07
fonte
0

Indietro di nuovo. Ho giocato con alcuni progetti per cercare di capire come rispondere a queste domande.

È bello poter avere progetti incorporati in XCode e Git. Tuttavia sembrano aumentare le possibilità di problemi ed errori. Lavorare in questo modo significa anche che i sottomoduli sono sparsi dappertutto, duplicati molte volte. Questo penso che aumenti le possibilità di conflitti di codice.

Sembra che ci sia molta più complessità nel lavorare in questo modo rispetto al modo in cui stavo lavorando e non sono sicuro che sto davvero guadagnando molto da esso.

    
risposta data 19.07.2012 - 15:38
fonte

Leggi altre domande sui tag