Dokumen Apple mungkin lebih jelas tentang cara mengirimkan versi pembaruan.
Seperti yang ditanyakan dalam judul, Apa perbedaannya
- nomor versi di itunes connect (yang harus Anda berikan saat mengirimkan pembaruan)
- versi bundel di xcode
- versi bundel string, pendek
Apakah mereka terkait dengan cara apa pun?
Jawaban:
Ya, mereka saling berhubungan. Semuanya mengacu pada versi aplikasi Anda.
iTunes Connect
Ini adalah nomor versi yang ditampilkan di App Store; Ini harus berupa nomor versi murni seperti
1.2.3
Versi Bundle (CFBundleVersion)
Ini tidak harus berupa nomor versi murni. Ini bisa seperti
12345
atau1.2.3 (Build 12345AB)
. Ini ditampilkan di jendela Tentang untuk aplikasi Mac OS X misalnya dan sering kali lebih merupakan "Nomor Bangun" daripada "Nomor Versi".Bundel Version String (CFBundleShortVersionString) Nilai ini digunakan sebagai nomor versi "nyata". Ini harus string yang sama seperti yang digunakan untuk versi di iTunes Connect .
Pembaruan:
Seperti yang ditunjukkan oleh @snlehton, CFBundleVersion harus berupa nomor versi murni seperti
1.2.3
ketika Anda ingin mengunggah aplikasi Anda ke App Store (iOS).sumber
1.2.3
dan kemudian menaikkan versi paket untuk setiap build.Ya, mereka terkait tetapi definisi mereka tergantung pada bagaimana mereka digunakan.
Selalu harus berupa nomor versi, misalnya 1.0
Mode penggunaan 1 - Hanya CFBundleVersion yang diatur
Harus berupa nomor versi, misalnya 1.0. Harus cocok dengan Versi iTunes Connect.
Mode penggunaan 2 - CFBundleVersion dan CFBundleShortVersionString disetel
Harus berupa nomor build, misalnya bilangan bulat tunggal seperti 435163.
Harus berupa nomor versi, misalnya 1.0. Harus cocok dengan Versi iTunes Connect.
Mode penggunaan 2 adalah cara terbaik untuk melakukannya. Berikut beberapa contoh nomor untuk jalur peningkatan aplikasi:
Catatan tambahan tentang nomor versi: Jika Anda mengirimkan pembaruan kecil (misalnya perbaikan bug) ke aplikasi Anda, Anda tidak boleh melewatkan titik di nomor versi, misalnya selalu gunakan 1.0.1 dan TIDAK PERNAH 1.01 atau Anda berisiko tidak dapat menggunakan nomor versi tertentu di masa mendatang karena tidak mungkin untuk menaikkannya.
sumber
Ya, semuanya terkait.
Nomor Versi di itunesconnect adalah nomor versi yang perlu Anda berikan. Misalnya, 2.1.1 atau 3.1.2 dll. Ini juga harus sama dengan CFBundleShortVersionString .
Versi Bundel Dalam Xcode ( CFBundleVersion ) hanya mewakili nomor Build yang mengidentifikasi iterasi (dirilis atau tidak dirilis) aplikasi.
Versi bundel string, pendek ( CFBundleShortVersionString ) adalah angka yang terdiri dari tiga bilangan bulat yang dipisahkan oleh titik. Yang pertama mewakili pembaruan utama aplikasi, seperti pembaruan yang mengimplementasikan fitur baru atau perubahan besar. Bilangan bulat kedua menunjukkan revisi yang menerapkan fitur yang kurang menonjol. Bilangan bulat ketiga mewakili rilis pemeliharaan.
sumber
Berhati-hatilah dengan CFBundleVersion . Ini bukan hanya nomor produksi produksi. Nilai ini diperiksa oleh Apple selama proses pengunggahan biner, dan dapat gagal.
Pastikan Anda menyetel CFBundleVersion dengan nilai CFBundleShortVersionString saat Anda membuat rilis untuk dikirimkan.
Lihat posting ini tentang itu
sumber
CFBundleVersion
tidak harus cocokCFBundleShortVersionString
. Misalnya, jika Anda melihat file .ipa saat ini untuk Chrome (di app store sekarang), file tersebut memiliki "34.0.1847.18" untukCFBundleVersion
dan "34.1847.18" untukCFBundleShortVersionString
.Jawaban yang diterima adalah cara terbaik - cukup tambahkan ini sebagai contoh.
Untuk rilis terakhir kami, "Bundle Version String, short" diperlukan, dan saya melanjutkan dan mencocokkannya dengan nomor versi Bundle (1.2.8 untuk aplikasi kami).
Saya kemudian mengaktifkan Testflight, dan membuat versi yang menunggu tinjauan Apple (1.2.8) tersedia untuk penguji internal kami. Namun penguji menemukan masalah yang perlu diperbaiki, dan kami menghapus biner di tempatnya. Saat mengupload build baru, kami mendapat error yang menunjukkan versi build sudah diupload.
Setelah membaca beberapa tautan SO dan dokumen Apple, pemahaman saya adalah membuat versi bundel: 1.2.8.001, sambil mempertahankan versi bundel-pendek seperti itu. Jika build baru diperlukan, kami menaikkan versi paket ke 1.2.8.002.
Catatan: upload diterima, dan build muncul sebagai "1.2.8.001" di bawah pra-rilis. Nomor versi tetap 1.2.8.
sumber
Jawaban yang diterima dari tautan ini berisi detail yang bagus :: Nomor versi / versi aplikasi iOS mana yang HARUS ditambahkan setelah rilis App Store?
Dari apple docs
CFBundleVersion (versi Bundle)
CFBundleVersion (String - iOS, OS X) menentukan nomor versi build dari bundel, yang mengidentifikasi iterasi (dirilis atau tidak dirilis) bundel. Nomor versi build harus berupa string yang terdiri dari tiga bilangan bulat non-negatif yang dipisahkan titik dengan bilangan bulat pertama lebih besar dari nol. String hanya boleh berisi karakter numerik (0-9) dan titik (.). Nol di depan dipotong dari setiap bilangan bulat dan akan diabaikan (yaitu, 1.02.3 setara dengan 1.2.3). Kunci ini tidak dapat dilokalkan.
CFBundleShortVersionString (String versi bundel, pendek)
CFBundleShortVersionString (String - iOS, OS X) menentukan nomor versi rilis bundel, yang mengidentifikasi iterasi yang dirilis dari aplikasi. Nomor versi rilis adalah string yang terdiri dari tiga bilangan bulat yang dipisahkan oleh periode. Bilangan bulat pertama mewakili revisi besar pada aplikasi, seperti revisi yang menerapkan fitur baru atau perubahan besar. Bilangan bulat kedua menunjukkan revisi yang menerapkan fitur yang kurang menonjol. Bilangan bulat ketiga mewakili rilis pemeliharaan.
Nilai untuk kunci ini berbeda dari nilai untuk CFBundleVersion, yang mengidentifikasi iterasi (dirilis atau tidak dirilis) aplikasi. Kunci ini dapat dilokalkan dengan memasukkannya ke dalam file InfoPlist.strings Anda.
sumber