Qual è la struttura dietro i numeri di versione / numeri di build di Apple?


12

macOS Sierra 10.12.3 è 16D32, ma l'SDK è 16C58secondo il mio Xcode.

iOS 10.3 beta è 14E5239e.

Xcode 8.2 è 8C38.

Sai come appaiono e sono condivisi tra tutti i software Apple.

Ma come sono fatti? Qual è la logica dietro? Riesco a malapena a indovinare che "a volte", il primo numero è la versione "principale", ad es. per Xcode, ma non è sempre vero, ad es. per iOS.

E di cosa parla la lettera di mezzo?

L'ultimo numero è sicuramente un numero di build sequenziale, con revisioni minori con una lettera minuscola aggiunta (prendere iOS 10.3 beta).

Iniziano tutti 1A1internamente, quindi passano da build a build?

Qual è lo schema maggiore in gioco qui?


1
Ad essere sincero, ho chiesto questo per vedere se potevo replicare il "loro" schema di versioning nel nostro software e ambiente CI. Non è per pura curiosità. Chiudi se vuoi, ho capito.
Cyrille

1
@fsb Ti incoraggio a guardare le risposte fornite per capire perché questa domanda non è fuori tema.
GRG

@grgarside Non sono d'accordo e penso ancora che sia fuori tema, tuttavia, ho rimosso i miei commenti e ho votato a fondo.
fb

Anche il mio uso del termine "logica" era forse un po 'confuso. Venti anni di pratica dell'inglese e talvolta mi perdo ancora a parole :)
Cyrille,

Risposte:


11

Paul Suh (precedentemente ingegnere consulente e sviluppatore della formazione presso Apple, ha scritto quanto segue (pubblicato sul blog di Joe Moreno):

Ad esempio, Mac OS X 10.4.10 Intel è build 8R2232. Mac OS X Server 10.4.11 Universal è 8S2169. Questi numeri hanno i seguenti significati approssimativi:

8 - Questo è il numero di versione principale del pacchetto software. 10.5 = 9, 10.4 = 8, ... 10.0 = 4. Precedentemente era NextStep 3.3, da cui otteniamo le 3 serie.

R - Questo è il numero di versione minore. Viene sempre incrementato per gli aggiornamenti di sistema (ovvero da 10.4.10 a 10.4.11 è sempre un salto di lettera), ma può essere incrementato anche per build specifiche dell'hardware. R è la diciottesima lettera, ma solo il decimo aggiornamento di Tiger. Gli altri dossi di 8 lettere riguardavano il supporto hardware per le nuove versioni. Gli aggiornamenti di sicurezza in genere non meritano un bump lettera.

2232 - Questo è il numero di build sequenziale nella versione secondaria. Se si tratta di un numero di quattro cifre, la prima cifra indica una piattaforma specifica. In questo caso, 2 indica che è per Intel. Un numero di tre cifre o più breve indica una build unificata per tutte le architetture. Le cifre rimanenti sono il numero di build sequenziale. In questo caso, il treno R aveva 232 build prima del rilascio, il primo era build 8R2001. Sebbene le build siano all'incirca quotidiane, non puoi davvero andare per quel numero. Nelle fasi iniziali le build possono avvenire solo una volta ogni due o tre giorni; verso la fine possono verificarsi due o tre volte al giorno. I treni di build delle versioni successive possono sovrapporsi in una certa misura, in base a ciò che Apple Engineering considera la priorità rispetto al rischio di varie modifiche al codice. Le prime build di 10.4. 11 quasi sicuramente si sono sovrapposti con le ultime build del 10.4.10. Le build di Leopard si sono sicuramente sovrapposte a quelle degli aggiornamenti di Tiger, risalendo quasi al giorno successivo al rilascio di Tiger.

Si noti che pacchetti software diversi hanno numeri di build totalmente diversi, quindi non è possibile confrontare i numeri di build in modo significativo. L'eccezione è che Mac OS X e Mac OS X Server condividono gli stessi numeri di build.


1

In un articolo MacRumors fa riferimento allo schema dei numeri di build di Apple . Sebbene non sia una risorsa ufficiale, indica che esiste una certa logica dietro la numerazione.

Secondo lo schema del numero di build di Apple, "13" si riferisce a OS X 10.9, "A" si riferisce alla versione 10.9.0 e "451" fa parte di una numerazione sequenziale di build compilate.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.