Saya sedang menulis aplikasi iPhone. Sudah diterbitkan, tetapi saya ingin menambahkan fitur tempat nomor versinya ditampilkan.
Saya lebih suka tidak harus melakukan ini secara manual dengan setiap versi yang saya rilis ...
Apakah ada cara dalam tujuan-C untuk mengetahui versi aplikasi saya?
Jawaban:
Seperti yang saya jelaskan di sini , saya menggunakan skrip untuk menulis ulang file header dengan nomor revisi Subversion saya saat ini. Nomor revisi itu disimpan dalam konstanta kRevisionNumber. Saya kemudian dapat mengakses versi dan nomor revisi menggunakan sesuatu yang mirip dengan yang berikut:
yang akan membuat string format "Versi 1.0 (51)".
sumber
CFBundleShortVersionString
apa yang biasanya Anda inginkan untuk 'versi' danCFBundleVersion
untuk Build number.[NSString stringWithFormat:@"Version: %@ (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"], [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]]
Membangun dari jawaban Brad Larson, jika Anda memiliki info versi mayor dan minor yang disimpan dalam daftar info (seperti yang saya lakukan pada proyek tertentu), ini bekerja dengan baik untuk saya:
Sekarang revving versi minor secara manual bisa jadi menyebalkan, dan karenanya menggunakan trik nomor revisi sumber repositori sangat ideal. Jika Anda belum mengikatnya (seperti yang belum saya lakukan), cuplikan di atas dapat bermanfaat. Itu juga mengeluarkan nama tampilan aplikasi.
sumber
Versi cepat untuk keduanya secara terpisah:
Cepat 3
Cepat 2
Termasuk dalam repo ini, lihat:
https://github.com/goktugyil/EZSwiftExtensions
sumber
Inilah yang saya lakukan dalam aplikasi saya
Semoga jawaban sederhana ini akan membantu seseorang ...
sumber
Anda dapat menentukan
CFBundleShortVersionString
string di plist.info Anda dan membacanya secara terprogram menggunakan API yang disediakan .sumber
Ada dua hal - versi build dan versi aplikasi.
Untuk mendapatkan versi Aplikasi:
Untuk mendapatkan versi Build:
sumber
objectForInfoDictionaryKey:
daripadainfoDictionary] objectForKey:
karena yang pertama mengembalikan nilai yang dilokalkan (jika ada). Mungkin tidak akan membuat perbedaan di sini;)sumber
Cara ringkas untuk mendapatkan string versi dalam format XYZ adalah:
Atau, hanya XY:
Kedua potongan ini mengembalikan string yang akan Anda tetapkan untuk properti teks objek label Anda, misalnya
sumber
Anda dapat mencoba menggunakan kamus sebagai: -
sumber
Baca file info.plist aplikasi Anda dan dapatkan nilai untuk CFBundleShortVersionString kunci. Membaca info.plist akan memberi Anda objek NSDictionary
sumber
Anda dapat menggunakan infoDictionary yang mendapatkan detail versi dari info.plist aplikasi Anda. Kode ini berfungsi untuk swift 3. Panggil saja metode ini dan tampilkan versi dalam elemen UI yang diinginkan.
sumber
Swift 5:
Ada dua hal - Versi aplikasi dan versi build
Untuk mendapatkan versi Aplikasi:
Untuk mendapatkan versi Build:
Terima kasih
@Brad Larson♦
banyaksumber
Jika Anda memerlukan kombinasi kedua versi dan build num , berikut cara singkat menggunakan Swift 3 :
Tambahkan sebuah
as! String
ke akhir barisappVersion
ataubuildNum
untuk mendapatkan hanya bagian itu sebagaiString
objek. Tidak perlu untuk itu jika Anda mencari yang lengkapversionInfo
.Saya harap ini membantu!
sumber
Berdasarkan @rajat, chauhan menjawab tanpa dipaksa untuk
String
.sumber
Ini adalah hal yang baik untuk ditangani dengan sistem kontrol revisi. Dengan begitu ketika Anda mendapatkan laporan bug dari pengguna, Anda dapat memeriksa revisi kode itu dan (mudah-mudahan) mereproduksi bug yang menjalankan kode yang sama persis dengan pengguna.
Idenya adalah bahwa setiap kali Anda membangun, Anda akan menjalankan skrip yang mendapatkan nomor revisi kode Anda saat ini dan memperbarui file dalam proyek Anda (biasanya dengan beberapa bentuk penggantian token). Anda kemudian dapat menulis rutin penanganan kesalahan yang selalu menyertakan nomor revisi dalam output kesalahan, atau Anda dapat menampilkannya di halaman "Tentang".
sumber
Anda dapat mencoba metode ini:
sumber