Какова структура номеров версий Apple / номеров сборок?

12

macOS Sierra 10.12.3 есть 16D32, но SDK 16C58соответствует моему Xcode.

iOS 10.3 beta есть 14E5239e.

Xcode 8.2 есть 8C38.

Вы знаете, как они выглядят, и они используются всеми программами Apple.

Но как они составлены? Какая логика позади? Я едва могу предположить, что «иногда», первое число является «основной» версией, например. для Xcode, но это не всегда так, например. для iOS.

И о чем средняя буква?

Последнее число, безусловно, является порядковым номером сборки, с незначительными ревизиями, к которым добавлена ​​строчная буква (возьмите бета-версию iOS 10.3).

Все ли они начинаются с 1A1внутреннего, затем переходят на сборку за сборкой?

Какова большая схема в игре здесь?

Сирил
источник
1
Если честно, я попросил об этом, чтобы посмотреть, смогу ли я воспроизвести «их» схему управления версиями в нашей собственной среде программного обеспечения и CI. Это не из чистого любопытства. Закройте, если хотите, я понимаю.
Кирилл,
1
@fsb Я рекомендую вам посмотреть на ответы, почему этот вопрос не является не по теме.
grg
@grgarside Я не согласен и все еще думаю, что это не по теме, однако я удалил свои комментарии и закрыл голосование.
ФСБ
Мое использование термина «обоснование» тоже, возможно, немного сбивало с толку. Двадцать лет практики английского, и я до сих пор иногда
Сирил

Ответы:

11

Пол Су (бывший инженер-консультант и разработчик учебных программ в Apple) написал следующее (опубликовано в блоге Джо Морено):

Например, Mac OS X 10.4.10 Intel является сборкой 8R2232. Mac OS X Server 10.4.11 Универсальный - 8S2169. Эти числа имеют следующие приблизительные значения:

8 - Это основной номер версии программного пакета. 10.5 = 9, 10.4 = 8, ... 10.0 = 4. До этого был NextStep 3.3, из которого мы получаем 3 серии.

R - Это младший номер версии. Он всегда увеличивается для обновлений системы (т. Е. С 10.4.10 по 10.4.11 - это всегда переход по буквам), но может увеличиваться и для аппаратных сборок. R - 18-я буква, но только 10-е обновление Тигра. Другие 8 букв были для аппаратной поддержки новых выпусков. Обновления безопасности, как правило, не заслуживают буквенного толчка.

2232 - это порядковый номер сборки в младшей версии. Если это четырехзначное число, первая цифра обозначает конкретную платформу. В этом случае 2 указывает, что это для Intel. Трехзначное или более короткое число обозначает унифицированную сборку для всех архитектур. Остальные цифры - порядковый номер сборки. В этом случае поезд R имел 232 билда перед выпуском, первый из которых был 8R2001. Хотя сборки выполняются примерно ежедневно, вы не можете идти по этому номеру. На ранних стадиях сборка может происходить только раз в два или три дня; ближе к концу они могут происходить два или три раза в день. Последовательности сборки последовательных выпусков могут в некоторой степени перекрываться, основываясь на том, что Apple Engineering рассматривает как приоритет по сравнению с риском различных изменений в коде. Самые ранние сборки 10.4. 11 почти наверняка перекрываются с последними сборками 10.4.10. Сборки Leopard определенно пересекались со сборками обновлений Tiger, возвращаясь почти ко всему дню после выпуска Tiger.

Обратите внимание, что разные пакеты программного обеспечения имеют совершенно разные номера сборки, поэтому вы не можете сравнивать номера сборки друг с другом осмысленным образом. Исключением является то, что Mac OS X и Mac OS X Server используют одни и те же номера сборки.

Алан Шутко
источник
1

В статье MacRumors упоминается схема номеров сборок Apple . Хотя это и не официальный ресурс, он указывает на то, что за нумерацией стоит определенная логика.

Согласно схеме нумерации сборок Apple, «13» относится к OS X 10.9, «A» относится к версии 10.9.0, а «451» является частью последовательной нумерации скомпилированных сборок.

Вольск
источник