Qual é a estrutura por trás dos números de versão da Apple / construir números?


12

O macOS Sierra 10.12.3 é 16D32, mas o SDK está de 16C58acordo com o meu Xcode.

iOS 10.3 beta é 14E5239e.

Xcode 8.2 é 8C38.

Você sabe como eles são e são compartilhados entre todos os softwares da Apple.

Mas como eles são feitos? Qual é a lógica por trás? Eu mal posso adivinhar que "algumas vezes", o primeiro número é a versão "principal", por exemplo. para o Xcode, mas isso nem sempre é verdade, por exemplo. para iOS.

E qual é a letra do meio?

O último número certamente é um número de compilação sequencial, com pequenas revisões com uma letra minúscula anexada (use o iOS 10.3 beta).

Todos eles iniciam 1A1internamente e depois passam a compilação após compilação?

Qual é o maior esquema em jogo aqui?


1
Para ser sincero, pedi para ver se era possível replicar o esquema de versão "deles" em nosso próprio ambiente de software e IC. Não é por pura curiosidade. Feche se quiser, eu entendo.
Cyrille

1
@fsb Convido você a olhar para as respostas fornecidas por que esta pergunta não está fora de tópico.
grg

@grgarside Eu discordo e ainda acho que é fora de tópico, no entanto, removi meus comentários e voto certeiro.
Fsb #

Meu uso do termo "justificativa" talvez tenha sido um pouco confuso também. Vinte anos praticando Inglês e eu ainda estou por vezes perdido em palavras :)
Cyrille

Respostas:


11

Paul Suh (ex-engenheiro consultor e desenvolvedor de treinamento da Apple) escreveu o seguinte (publicado no blog de Joe Moreno):

Por exemplo, o Mac OS X 10.4.10 Intel é o build 8R2232. O Mac OS X Server 10.4.11 Universal é 8S2169. Esses números têm os seguintes significados aproximados:

8 - Este é o número da versão principal do pacote de software. 10,5 = 9, 10,4 = 8, ... 10,0 = 4. Antes disso, era o NextStep 3.3, do qual obtivemos as 3 séries.

R - Este é o número da versão secundária. Ele sempre é incrementado para atualizações do sistema (ou seja, 10.4.10 a 10.4.11 é sempre um salto de letra), mas pode ser incrementado também para compilações específicas de hardware. R é a 18ª letra, mas apenas a 10ª atualização do Tiger. Os outros 8 blocos de letras foram para suporte de hardware para novos lançamentos. As atualizações de segurança geralmente não merecem um aumento de letra.

2232 - Este é o número de compilação seqüencial na versão secundária. Se for um número de quatro dígitos, o primeiro dígito indica uma plataforma específica. Nesse caso, 2 indica que é para a Intel. Um número de três dígitos ou menos indica uma compilação unificada para todas as arquiteturas. Os dígitos restantes são o número de compilação seqüencial. Nesse caso, o trem R tinha 232 builds antes do lançamento, o primeiro sendo o build 8R2001. Embora as compilações sejam aproximadamente diárias, você não pode realmente atingir esse número. Nos estágios iniciais, as construções podem acontecer apenas uma vez a cada dois ou três dias; no final, podem ocorrer duas ou três vezes ao dia. Os trens de compilação de versões sucessivas podem se sobrepor em certa medida, com base no que a Apple Engineering vê como a prioridade versus o risco de várias alterações no código. As primeiras versões do 10.4. 11 quase certamente se sobrepôs às últimas versões de 10.4.10. As compilações do Leopard definitivamente se sobrepuseram às compilações das atualizações do Tiger, que remontam a quase todo o dia após o lançamento do Tiger.

Observe que pacotes de software diferentes têm números de compilação totalmente diferentes, portanto, você não pode comparar os números de compilação entre si de maneira significativa. A exceção é que o Mac OS X e o Mac OS X Server compartilham os mesmos números de compilação.


1

Em um artigo, MacRumors refere-se ao esquema de número de compilação da Apple . Embora não seja um recurso oficial, indica que há uma certa lógica por trás da numeração.

De acordo com o esquema de número de compilação da Apple, "13" refere-se ao OS X 10.9, "A" refere-se à versão 10.9.0 e "451" faz parte de uma numeração seqüencial de compilações compiladas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.