Quelle est la structure derrière les numéros de version / build d'Apple?

12

macOS Sierra 10.12.3 l'est 16D32, mais le SDK est 16C58conforme à mon Xcode.

iOS 10.3 beta est 14E5239e.

Xcode 8.2 est 8C38.

Vous savez à quoi ils ressemblent et ils sont partagés entre tous les logiciels Apple.

Mais comment sont-ils constitués? Quelle est la logique derrière? Je peux à peine deviner que "parfois", le premier numéro est la version "majeure", par exemple. pour Xcode, mais ce n'est pas toujours vrai, par exemple. pour iOS.

Et de quoi parle la lettre du milieu?

Le dernier numéro est sûrement un numéro de build séquentiel, avec des révisions mineures auxquelles une lettre minuscule est ajoutée (prenez iOS 10.3 beta).

Commencent-ils tous en 1A1interne, puis évoluent-ils build après build?

Quel est le plus grand schéma en jeu ici?

Cyrille
la source
1
Pour être honnête, j'ai demandé ceci pour voir si je pouvais répliquer "leur" schéma de version dans notre propre logiciel et environnement CI. Ce n'est pas par pure curiosité. Fermez si vous voulez, je comprends.
Cyrille
1
@fsb Je vous encourage à regarder les réponses fournies pour savoir pourquoi cette question n'est pas hors sujet.
grg
@grgarside Je ne suis pas d'accord et je pense toujours que c'est hors sujet, cependant, j'ai supprimé mes commentaires et fermé le vote.
fsb
Mon utilisation du terme "justification" était peut-être aussi un peu déroutante. Vingt ans de pratique de l'anglais et je suis encore parfois perdu sur les mots :)
Cyrille

Réponses:

11

Paul Suh (anciennement ingénieur-conseil et développeur de formation chez Apple, a écrit ce qui suit (publié sur le blog de Joe Moreno):

Par exemple, Mac OS X 10.4.10 Intel est construit 8R2232. Mac OS X Server 10.4.11 Universal est 8S2169. Ces chiffres ont les significations approximatives suivantes:

8 - Il s'agit du numéro de version principal du progiciel. 10,5 = 9, 10,4 = 8, ... 10,0 = 4. Avant cela était NextStep 3.3, dont nous obtenons les 3 séries.

R - Il s'agit du numéro de version mineur. Il est toujours incrémenté pour les mises à jour du système (c'est-à-dire que 10.4.10 à 10.4.11 est toujours un saut de lettre), mais peut également être incrémenté pour les versions spécifiques au matériel. R est la 18e lettre, mais seulement la 10e mise à jour de Tiger. Les autres bosses de 8 lettres étaient destinées au support matériel des nouvelles versions. Les mises à jour de sécurité ne méritent généralement pas de bosse de lettre.

2232 - Il s'agit du numéro de build séquentiel dans la version mineure. S'il s'agit d'un nombre à quatre chiffres, le premier chiffre indique une plate-forme spécifique. Dans ce cas, 2 indique qu'il s'agit d'Intel. Un nombre à trois chiffres ou moins indique une construction unifiée pour toutes les architectures. Les chiffres restants sont le numéro de build séquentiel. Dans ce cas, le train R avait 232 versions avant sa sortie, la première étant la version 8R2001. Bien que les versions soient à peu près quotidiennes, vous ne pouvez pas vraiment respecter ce nombre. Au début, les builds ne peuvent se produire qu'une fois tous les deux ou trois jours; vers la fin, ils peuvent se produire deux ou trois fois par jour. Les trains de construction des versions successives peuvent se chevaucher dans une certaine mesure, en fonction de ce que Apple Engineering considère comme la priorité par rapport au risque de diverses modifications du code. Les premières versions de 10.4. 11 se chevauchait presque certainement avec les dernières versions de 10.4.10. Les versions de Leopard se chevauchaient définitivement avec les versions des mises à jour de Tiger, remontant presque jusqu'au lendemain de la sortie de Tiger.

Notez que différents packages logiciels ont des numéros de build totalement différents, vous ne pouvez donc pas comparer les numéros de build les uns aux autres de manière significative. L'exception est que Mac OS X et Mac OS X Server partagent les mêmes numéros de build.

Alan Shutko
la source
1

Dans un article, MacRumors fait référence au schéma de numéro de build d' Apple . Bien qu'il ne s'agisse pas d'une ressource officielle, cela indique qu'il y a une certaine logique derrière la numérotation.

Selon le schéma des numéros de build d'Apple, «13» fait référence à OS X 10.9, «A» fait référence à la version 10.9.0 et «451» fait partie d'une numérotation séquentielle des builds compilés.

Volsk
la source