Jaka jest struktura numerów wersji Apple / numerów wersji?

12

MacOS Sierra 10.12.3 jest 16D32, ale SDK jest 16C58zgodny z moim Xcode.

iOS 10.3 beta jest 14E5239e.

Xcode 8.2 to 8C38.

Wiesz, jak wyglądają i są one udostępniane wszystkim programom Apple.

Ale jak się je składa? Jaka jest logika? Ledwo mogę odgadnąć, że „czasami” pierwsza liczba to „główna” wersja, np. dla Xcode, ale nie zawsze tak jest, np. na iOS.

A o czym jest środkowy list?

Ostatni numer to z pewnością kolejny numer kompilacji, z drobnymi poprawkami z dołączoną małą literą (weź iOS 10.3 beta).

Czy wszystkie zaczynają się 1A1wewnętrznie, a następnie przechodzą od kompilacji po kompilacji?

Jaki jest tutaj większy plan?

Cyryl
źródło
1
Szczerze mówiąc, poprosiłem o sprawdzenie, czy mogę replikować „ich” schemat wersjonowania w naszym własnym oprogramowaniu i środowisku CI. To nie jest czysta ciekawość. Zamknij, jeśli chcesz, rozumiem.
Cyrille,
1
@ fsb Zachęcam do zapoznania się z podanymi odpowiedziami, dlaczego to pytanie nie jest nie na temat.
grg
@grgarside Nie zgadzam się i nadal uważam, że to nie na temat, jednak usunąłem swoje komentarze i zamknąłem głosowanie.
fsb
Moje użycie terminu „uzasadnienie” również może być nieco mylące. Dwadzieścia lat ćwiczę angielski i wciąż czasem gubię się w słowach :)
Cyrille

Odpowiedzi:

11

Paul Suh (wcześniej inżynier i programista ds. Szkoleń w Apple, napisał następujące (opublikowane na blogu Joe Moreno):

Na przykład Mac OS X 10.4.10 Intel to kompilacja 8R2232. Mac OS X Server 10.4.11 Universal to 8S2169. Liczby te mają następujące ogólne znaczenie:

8 - Jest to główny numer wersji pakietu oprogramowania. 10,5 = 9, 10,4 = 8, ... 10,0 = 4. Przed tym był NextStep 3.3, z którego otrzymujemy 3 serie.

R - To jest mniejszy numer wersji. Jest zawsze zwiększany w przypadku aktualizacji systemu (tj. 10.4.10 do 10.4.11 jest zawsze skokiem liter), ale może być również zwiększany w przypadku kompilacji specyficznych dla sprzętu. R jest 18. literą, ale tylko 10. aktualizacją Tygrysa. Pozostałe 8 literowe nierówności dotyczyły wsparcia sprzętowego dla nowych wydań. Aktualizacje zabezpieczeń zasadniczo nie wymagają wypukłości liter.

2232 - Jest to sekwencyjny numer kompilacji w mniejszej wersji. Jeśli jest to czterocyfrowy numer, pierwsza cyfra wskazuje konkretną platformę. W tym przypadku 2 oznacza, że ​​jest to Intel. Trzycyfrowa lub krótsza liczba oznacza zunifikowaną kompilację dla wszystkich architektur. Pozostałe cyfry to kolejny numer kompilacji. W tym przypadku pociąg R miał 232 kompilacje przed wydaniem, pierwsza to kompilacja 8R2001. Chociaż kompilacje są wykonywane mniej więcej codziennie, tak naprawdę nie można przejść według tej liczby. Na wczesnych etapach kompilacje mogą się zdarzyć tylko raz na dwa lub trzy dni; pod koniec mogą występować dwa lub trzy razy dziennie. Zestawy kompilacji kolejnych wydań mogą do pewnego stopnia nakładać się na siebie, w zależności od tego, co firma Apple Engineering uważa za priorytet vs. ryzyko różnych zmian w kodzie. Najwcześniejsze kompilacje 10.4. 11 prawie na pewno pokrywa się z ostatnimi kompilacjami 10.4.10. Kompilacje Leoparda zdecydowanie pokrywały się z kompilacjami aktualizacji Tygrysa, sięgając niemal do samego dnia po premierze Tygrysa.

Pamiętaj, że różne pakiety oprogramowania mają zupełnie różne numery kompilacji, więc nie możesz porównywać liczb kompilacji ze sobą w znaczący sposób. Wyjątkiem jest to, że Mac OS X i Mac OS X Server mają te same numery kompilacji.

Alan Shutko
źródło
1

W artykule MacRumors odnosi się do schematu numerów kompilacji Apple . Chociaż nie jest to oficjalny zasób, wskazuje na pewną logikę związaną z numeracją.

Zgodnie ze schematem numerów kompilacji Apple „13” odnosi się do OS X 10.9, „A” odnosi się do wersji 10.9.0, a „451” jest częścią numeracji sekwencyjnej skompilowanych kompilacji.

Wołsk
źródło