Bagaimana struktur di balik angka versi Apple / angka bangunan?

12

macOS Sierra 10.12.3 adalah 16D32, tetapi SDK 16C58sesuai dengan Xcode saya.

iOS 10.3 beta adalah 14E5239e.

Xcode 8.2 adalah 8C38.

Anda tahu tampilannya, dan dibagikan di antara semua perangkat lunak Apple.

Tapi bagaimana mereka dibuat? Apa logika di baliknya? Saya hampir tidak bisa menebak bahwa "kadang-kadang", angka pertama adalah versi "utama", misalnya. untuk Xcode, tetapi itu tidak selalu benar, mis. untuk iOS.

Dan tentang apa huruf tengahnya?

Angka terakhir pasti adalah nomor build berurutan, dengan revisi kecil memiliki huruf kecil ditambahkan (ambil iOS 10.3 beta).

Apakah mereka semua mulai dari 1A1internal, kemudian pindah dari membangun ke membangun?

Skema apa yang lebih besar yang dimainkan di sini?

Cyrille
sumber
1
Sejujurnya, saya menanyakan ini untuk melihat apakah saya dapat mereplikasi skema versi "mereka" di perangkat lunak dan lingkungan CI kami sendiri. Itu bukan karena keingintahuan murni. Tutup jika Anda mau, saya mengerti.
Cyrille
1
@ fsb Saya mendorong Anda untuk melihat jawaban yang diberikan mengapa pertanyaan ini bukan di luar topik.
grg
@ grgarside Saya tidak setuju dan masih menganggap itu di luar topik, namun, saya telah menghapus komentar saya dan menutup suara.
fsb
Penggunaan istilah "rasional" saya mungkin agak membingungkan juga. Dua puluh tahun berlatih bahasa Inggris dan kadang-kadang saya masih kehilangan kata-kata :)
Cyrille

Jawaban:

11

Paul Suh (sebelumnya seorang insinyur konsultan dan pengembang pelatihan di Apple, menulis yang berikut ini (dipublikasikan di blog Joe Moreno):

Misalnya, Mac OS X 10.4.10 Intel adalah build 8R2232. Mac OS X Server 10.4.11 Universal adalah 8S2169. Angka-angka ini memiliki arti kasar sebagai berikut:

8 - Ini adalah nomor versi utama dari paket perangkat lunak. 10.5 = 9, 10.4 = 8, ... 10.0 = 4. Sebelumnya adalah NextStep 3.3, dari mana kita mendapatkan 3 seri.

R - Ini adalah nomor versi minor. Itu selalu bertambah untuk pembaruan sistem (mis. 10.4.10 hingga 10.4.11 selalu berupa lompatan surat), tetapi dapat ditambahkan juga untuk pembuatan khusus perangkat keras. R adalah huruf ke-18, tetapi hanya pembaruan ke-10 untuk Tiger. 8 benjolan surat lainnya adalah untuk dukungan perangkat keras untuk rilis baru. Pembaruan keamanan pada umumnya tidak pantas hanya berupa gundukan surat.

2232 - Ini adalah nomor build berurutan dalam versi minor. Jika itu nomor empat digit, digit pertama menunjukkan platform tertentu. Dalam hal ini, 2 menunjukkan bahwa itu untuk Intel. Angka tiga digit atau lebih pendek menunjukkan bangunan terpadu untuk semua arsitektur. Digit yang tersisa adalah nomor build berurutan. Dalam hal ini, kereta R memiliki 232 bangunan sebelum rilis, yang pertama dibangun 8R2001. Meskipun build kira-kira setiap hari, Anda tidak bisa benar-benar menggunakan angka itu. Pada tahap awal membangun hanya dapat terjadi setiap dua atau tiga hari; menjelang akhir mereka dapat terjadi dua atau tiga kali sehari. Rangkaian build rilis beruntun mungkin tumpang tindih sampai batas tertentu, berdasarkan apa yang Apple Engineering lihat sebagai prioritas vs risiko berbagai perubahan pada kode. Build awal 10.4. 11 hampir pasti tumpang tindih dengan build terakhir 10.4.10. Macan tutul Macan tumpang tindih dengan Macan pembaruan, kembali ke hampir sepanjang hari setelah Macan dirilis.

Perhatikan bahwa paket perangkat lunak yang berbeda memiliki angka build yang sama sekali berbeda, sehingga Anda tidak dapat membandingkan angka build satu sama lain dengan cara yang bermakna. Pengecualian adalah bahwa Mac OS X dan Mac OS X Server berbagi nomor build yang sama.

Alan Shutko
sumber
1

Dalam sebuah artikel, MacRumors merujuk pada skema nomor pembuatan Apple . Meskipun bukan sumber daya resmi, ini menunjukkan ada logika tertentu di balik penomoran.

Menurut skema nomor build Apple, "13" mengacu pada OS X 10.9, "A" mengacu pada versi 10.9.0, dan "451" adalah bagian dari penomoran berurutan build yang dikompilasi.

Volsk
sumber