¿Cuál es la estructura detrás de los números de versión / compilación de Apple?

12

macOS Sierra 10.12.3 es 16D32, pero el SDK está de 16C58acuerdo con mi Xcode.

iOS 10.3 beta es 14E5239e.

Xcode 8.2 es 8C38.

Ya sabes cómo se ven, y se comparten entre todos los programas de Apple.

¿Pero cómo están hechos? ¿Cuál es la lógica detrás? Apenas puedo adivinar que "a veces", el primer número es la versión "mayor", por ejemplo. para Xcode, pero eso no siempre es cierto, por ejemplo. para iOS

¿Y de qué trata la letra del medio?

El último número seguramente es un número de compilación secuencial, con revisiones menores que tienen una letra minúscula adjunta (tome iOS 10.3 beta).

¿Todos comienzan 1A1internamente y luego avanzan de compilación tras compilación?

¿Cuál es el mayor esquema en juego aquí?

Cirilo
fuente
1
Para ser honesto, pedí esto para ver si podía replicar "su" esquema de versiones en nuestro propio software y entorno de CI. No es por pura curiosidad. Cierra si quieres, entiendo.
Cyrille
1
@fsb Le animo a ver las respuestas proporcionadas sobre por qué esta pregunta no está fuera de tema.
grg
@grgarside No estoy de acuerdo y sigo pensando que está fuera de tema, sin embargo, he eliminado mis comentarios y voto cerrado.
fsb
Mi uso del término "justificación" también fue un poco confuso. Veinte años practicando inglés y todavía a veces me quedo sin palabras :)
Cyrille

Respuestas:

11

Paul Suh (anteriormente ingeniero consultor y desarrollador de capacitación en Apple, escribió lo siguiente (publicado en el blog de Joe Moreno):

Por ejemplo, Mac OS X 10.4.10 Intel es la compilación 8R2232. Mac OS X Server 10.4.11 Universal es 8S2169. Estos números tienen los siguientes significados aproximados:

8 - Este es el número de versión principal del paquete de software. 10.5 = 9, 10.4 = 8, ... 10.0 = 4. Antes de eso era NextStep 3.3, del cual obtenemos las 3 series.

R - Este es el número de versión menor. Siempre se incrementa para las actualizaciones del sistema (es decir, 10.4.10 a 10.4.11 siempre es un salto de letra), pero también se puede incrementar para compilaciones específicas de hardware. R es la letra 18, pero solo la 10ª actualización de Tiger. Las otras 8 letras fueron para soporte de hardware para nuevas versiones. Las actualizaciones de seguridad generalmente no merecen un golpe de letra.

2232: este es el número de compilación secuencial dentro de la versión secundaria. Si es un número de cuatro dígitos, el primer dígito indica una plataforma específica. En este caso, 2 indica que es para Intel. Un número de tres dígitos o más corto indica una compilación unificada para todas las arquitecturas. Los dígitos restantes son el número de compilación secuencial. En este caso, el tren R tenía 232 compilaciones antes del lanzamiento, el primero fue la compilación 8R2001. Aunque las compilaciones son aproximadamente diarias, realmente no puede ir por ese número. En las primeras etapas, las construcciones solo pueden ocurrir una vez cada dos o tres días; hacia el final pueden ocurrir dos o tres veces al día. Los trenes de compilación de lanzamientos sucesivos pueden superponerse en cierta medida, según lo que Apple Engineering considera como la prioridad frente al riesgo de varios cambios en el código. Las primeras versiones de 10.4. 11 seguramente se superpuso con las últimas compilaciones de 10.4.10. Las versiones de Leopard definitivamente se superpusieron con las versiones de actualizaciones de Tiger, que se remontan a casi todo el día después del lanzamiento de Tiger.

Tenga en cuenta que los diferentes paquetes de software tienen números de compilación totalmente diferentes, por lo que no puede comparar los números de compilación entre sí de manera significativa. La excepción es que Mac OS X y Mac OS X Server comparten los mismos números de compilación.

Alan Shutko
fuente
1

En un artículo, MacRumors se refiere al esquema de números de compilación de Apple . Aunque no es un recurso oficial, indica que hay una cierta lógica detrás de la numeración.

Según el esquema de números de compilación de Apple, "13" se refiere a OS X 10.9, "A" se refiere a la versión 10.9.0 y "451" es parte de una numeración secuencial de compilaciones compiladas.

Volsk
fuente