Domanda

Sto lavorando su un framework iOS basato sul seguente modello: https://github.com/jverkoey/iOS-Framework

Ora devo perfezionare un po' e configurare il sistema di controllo delle versioni con il numero di build/marketing appropriato.

Questo progetto quadro ha 3 destinazioni, la prima che genera una libreria statica, una seconda che genera un pacchetto di risorse e una terza destinazione che è una destinazione aggregata per la libreria statica e il pacchetto di risorse.Quindi il mio primo problema è determinare su quale target dovrei configurare le impostazioni di build del controllo delle versioni (o se dovrei configurare tutti i target).

La mia seconda domanda è quali sono le impostazioni che dovrei configurare e cosa significano:

Versione corrente del progetto => È la versione build o la versione marketing?Quindi, se rilascio app con versioni come:1.2.3.4, dovrei impostare 4?o 1.2.3 ?o 1.2.3.4 ?

Nome file sorgente del controllo versioni generato => Il nome del file .c generato che contiene il numero di build intero, immagino?

Variabili di versione generate => Che cos'è?

Prefisso nome controllo versione => Un prefisso per il nome della variabile che contiene il numero di build

Suffisso nome controllo versione => Un suffisso per il nome della variabile che contiene il numero di build

Sistema di versione:Tutti usano Apple Generic quindi immagino sia l'unico disponibile

Nome utente versione:Che cos'è ?

Ci sono altre impostazioni come "Versione Framework" nella sezione "Packaging" che dovrebbero sempre utilizzare "A", immagino su iOS (poiché sono in realtà framework statici, la versione non ha importanza)?E per le impostazioni "Versione compatibilità"/"Versione libreria corrente" della sezione "Collegamento", devo configurarle solo sulla destinazione della libreria statica?o vengono utilizzati dall'applicazione che collega la libreria?

È stato utile?

Soluzione

A meno che tu non stia costruendo un framework commerciale e a codice chiuso, Consiglierei davvero l'uso CocoaPods.Si occuperà di dipendenze, risorse, controllo delle versioni, aggiornamento, installazione, ecc.Tutti grossi grattacapi man mano che la tua libreria cambia nel tempo.

Anche se desideri distribuire solo file binari per codice sorgente chiuso, puoi creare i file binari con CocoaPods e quindi distribuirli con un podspec diverso.Inoltre eviterai di incorporare codice di altre librerie, il che è una pratica davvero pessima ma comune.

Per quanto riguarda il controllo delle versioni puoi controllare Qui.


Tornando a creare la libreria statica...

La versione non è visibile dall'App e sarebbe mera documentazione, quindi penso che dovresti aggiungerla a tutti i tuoi target.Se vuoi davvero essere in grado di rilevare la versione della tua libreria in fase di esecuzione dovrai creare un metodo di classe o una variabile globale come [MyLibrary version].

La documentazione per queste chiavi è inclusa in Xcode oppure puoi semplicemente selezionarne una e controllare il riquadro "Guida rapida":

enter image description here

Altri suggerimenti

Apple dispone di una documentazione piuttosto estesa per la creazione e la distribuzione di framework.

IL Guida alla programmazione quadro copre la maggior parte del terreno di cui hai bisogno.Se desideri informazioni più specifiche su come gli strumenti di sviluppo utilizzano le informazioni nel tuo progetto, consulta la pagina del manuale per agvtool, lo strumento che Xcode utilizza con il sistema di versioni di Apple.

Dovresti essere interessato anche a Linee guida per la codifica del cacao, che copre anche alcune migliori pratiche per i framework.

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