Version Name: Özü, Parametre Anlamı ve Kurulumu

Yazar: IT Sectr Yayınlanma: 2026-04-18 Okuma süresi: 8 dk

Version Name, kullanıcının mağazada ve cihazda gördüğü uygulama sürüm dizesidir. Build Number'dan farklı olarak, bu parametre anlamsal bir anlama sahiptir ve değişikliklerin önemini yansıtır. Android Developers, 2025'e göre, Version Name'in doğru kullanımı, kullanıcıların güncellemelerin uygunluğunu anlamasına ve geliştirme sürecine güvenmesine yardımcı olur.

Önemli Noktalar

  • Version Name, App Store, Google Play ve kullanıcının cihazında görüntülenen kullanıcı odaklı bir sürüm dizesidir.
  • Android'de build.gradle dosyasındaki versionName parametresiyle ayarlanır, iOS'ta — Info.plist'teki CFBundleShortVersionString ile.
  • Build Number'dan farklı olarak, Version Name dahili derleme tanımlaması için kullanılmaz ve tekrarlanabilir.
  • Anlamsal biçim Major.Minor.Patch, Version Name'i tanımlamak için en yaygın şemadır.
  • CI/CD aracılığıyla Version Name artırımının otomasyonu, sürüm sırasında insan hatası riskini azaltır.

Version Name Nedir

Version Name, kullanıcı için uygulama sürümünü tanımlayan anlamsal bir dizedir. Teknik derleme tanımlayıcılarından farklı olarak, bu parametre anlamlı bilgi taşır: kullanıcı yeni bir güncellemenin öncekinden ne kadar farklı olduğunu değerlendirebilir.

Version Name, Google Play ve App Store'daki uygulama kartında, cihazdaki "Uygulama hakkında" bölümünde ve sistem güncelleme iletişim kutularında görüntülenir. Geliştiriciler, sürüm sürümünü derlemeden önce proje yapılandırma dosyalarında bunu belirtir.

Semantic Versioning 2.0 (2023)'e göre, Major.Minor.Patch biçimi mobil uygulamaların %78'inde kullanılır. Ana sürüm, uyumsuz API değişiklikleriyle değişir; alt sürüm, yeni işlevsellik eklemeyle; yama ise hata düzeltmeleriyle değişir.

Kullanıcıyla iletişim kurmak için Version Name'i kullanın: sunulan güncellemenin ne kadar önemli olduğunu — ana, alt veya düzeltici — hemen anlamalıdırlar.

Anlamsal Sürüm Yapısı

Anlamsal sürüm, noktalarla ayrılmış üç sayıdan oluşur: Major.Minor.Patch. Bu bileşenlerin her biri, uygulamadaki belirli bir değişiklik düzeyinden sorumludur.

Ana sürüm (Major), geriye dönük uyumluluğu bozan köklü değişiklikler yapıldığında artar. Alt sürüm (Minor), mevcut işlevselliği bozmadan yeni işlevsellik ekler. Yama (Patch) yalnızca hata düzeltmeleri içerir.

Örneğin, 3.2.1 sürümü şu anlama gelir: üçüncü ana sürüm, ikinci alt güncelleme, ilk yama. Bu sistem hem geliştiriciler hem de kullanıcılar için anlaşılırdır.

Version Name Nerede Görüntülenir

Version Name, kullanıcı için birkaç önemli yerde görünür. Uygulama mağazasında, uygulama kartı başlığında ve güncelleme listesinde görünür. Cihazda, "Uygulama hakkında" bölümündeki sistem ayarlarında görünür.

Google Play'de Version Name, uygulama adının altında gösterilir ve kullanıcının güncelleme kararını etkiler. App Store'da, sürüm dizesi uygulama sayfası görüntülenirken aynı yerde gösterilir.

Apptentive (2024) araştırmasına göre, kullanıcıların %67'si güncellemeden önce uygulama sürümünü kontrol eder ve net anlambilim, yükleme dönüşümünü %23 oranında artırır.

Android'de Version Name

Android'de Version Name, build.gradle dosyasında (modül düzeyinde) versionName parametresiyle ayarlanır. Bu parametre bir dizedir ve noktalar, kısa çizgiler ve harfler dahil herhangi bir karakter içerebilir.

Parametre, zorunlu versionCode parametresiyle birlikte android.defaultConfig bloğu içinde bildirilir. Android, dize biçimine kısıtlama getirmez, ancak Google Play anlamsal biçimi kullanmayı önerir.

Android Developers (2025)'e göre, Google Play versionName'i mağaza arayüzünde görüntüleme için kullanır ancak içeriğini programlı olarak analiz etmez — yalnızca versionCode güncelleme mantığını etkiler.

Version Name'i Major.Minor.Patch biçiminde belirtin ve net sürüm tanımlaması için sürüm kontrol sistemindeki etiketle senkronize edin.

Gradle'da versionName Özellikleri

Gradle, build.gradle'da statik olarak veya derleme betikleri aracılığıyla dinamik olarak versionName ayarlamaya izin verir. Dinamik oluşturma, otomatik gece derlemeleri ve CI/CD boru hatları için kullanışlıdır.

build.gradle'da, versionName'i oluşturmak için ortam değişkenleri, komut satırı parametreleri veya shell betik çağrıları kullanılabilir. Tipik bir yaklaşım, sürümü bir version.properties dosyasından okumaktır.

Bu esneklik, ekiplerin sürümleme sürecini otomatikleştirmesine ve sürüm hazırlığı sırasında insan hatasını ortadan kaldırmasına olanak tanır.

iOS'ta Version Name

iOS'ta Version Name, Info.plist dosyasındaki CFBundleShortVersionString anahtarıyla ayarlanır. Bu, uygulamayı App Store'da yayınlamak için zorunlu bir parametredir ve kesinlikle dize olarak tiplendirilir.

Android'den farklı olarak, App Store Connect Version Name biçimini kontrol eder ve noktalarla ayrılmış sayılardan oluşan bir desenle eşleşmesini gerektirir. Maksimum dize uzunluğu 18 karakterdir ve her sürüm bileşeni 255'i aşamaz.

Apple Developer Documentation (2025)'e göre, CFBundleShortVersionString, App Store tarafından mağaza arayüzünde ve kullanıcının cihazındaki sistem iletişim kutularında sürümü görüntülemek için kullanılır.

App Store Connect'e bir derleme yüklerken, Version Name'in pazarlama materyallerinde belirtilen sürümle eşleştiğinden emin olun — bu, kullanıcılarla iletişimi basitleştirir.

Xcode ile Entegrasyon

Xcode, hedef ayarlarında Version Name'i değiştirmek için grafiksel bir arayüz sağlar. "Marketing Version" alanı, Identity bölümündeki General sekmesinde bulunur. Değişiklikler otomatik olarak Info.plist'e kaydedilir.

Otomasyon için, Xcode Build Phases'te derleme betikleri veya agvtool (Apple Generic Version Tool) yardımcı programı kullanılabilir. agvtool, komut satırından sürümleri yönetmeye olanak tanır ve CI/CD'ye entegre olur.

Bu yaklaşım, uygulamaların otomatik derlenmesi ve teslimatı için fastlane veya Jenkins kullanırken özellikle kullanışlıdır.

Version Name ve Build Number Arasındaki Farklar

Version Name ve Build Number, geliştirme sürecinde farklı görevler üstlenir. Version Name kullanıcı odaklı bir dizedir, Build Number ise her derlemeyi benzersiz şekilde tanımlayan dahili bir sayısal tanımlayıcıdır.

Build Number (Android'de versionCode, iOS'ta CFBundleVersion) her yeni derlemeyle artmalıdır ve uygulama mağazaları tarafından hangi sürümün daha yeni olduğunu belirlemek için kullanılır. Version Name, aynı sürümün birden çok derlemesinde değişmeden kalabilir.

Google Play Politikası (2025)'ne göre, aynı versionCode'a sahip iki uygulama aynı sürüm olarak kabul edilir — versionCode her APK için benzersiz olmalıdır. Version Name bu kontrole katılmaz.

Her derlemede Build Number'ı her zaman artırın ve Version Name'i yalnızca işlevsellik değiştiğinde değiştirin — bu, yayınlama sırasında çakışmaları önler.

Version Name Nasıl Seçilir

Version Name seçimi, ekibin sürümleme stratejisine bağlıdır. En yaygın yaklaşım anlamsal sürümlemedir (SemVer), ancak takvim sürümlemesi veya yayın tarihi sürümlemesi gibi alternatif şemalar da mevcuttur.

Semantic Versioning 2.0, isteğe bağlı ön yayın ekleriyle Major.Minor.Patch biçimini önerir. Mobil uygulamalar için, algılamayı basitleştirmek için yama sürümünün atlandığı Major.Minor şeması da popülerdir.

Takvim sürümlemesi (CalVer), sürüm numarası olarak yayın tarihini kullanır — örneğin, 25.06 (yıl ve ay). Bu yaklaşım, anlam biliminin anlamlı olmadığı sık yayın yapan uygulamalar için uygundur.

Şema Seçimi İçin Öneriler

Anlamsal sürümleme, geriye dönük uyumluluğun önemli olduğu genel API'ye sahip uygulamalar için uygundur. Kullanıcılar ve entegratörler, güncellemelerle hangi değişiklikleri bekleyeceklerini anlarlar.

Takvim sürümlemesi, değişikliklerin kapsamından çok yayının tazeliğinin önemli olduğu uygulamalar için seçilir. Örneğin, haber toplayıcılar veya hava durumu uygulamaları.

Hibrit şema her iki yaklaşımı birleştirir: Major.Minor.RC, burada RC belirli bir yayın adayı için derleme numarasıdır. Bu şema, aktif beta testi sırasında kullanışlıdır.

Version Name Yapılandırma Örnekleri

Aşağıdaki kod örnekleri, Android ve iOS'ta Version Name'in nasıl ayarlanacağını gösterir. Android için Gradle kullanılır, iOS için — agvtool ile Xcode Build Settings.

Android'de versionName Ayarlama

Android'de sürüm, app/build.gradle dosyasında defaultConfig bloğu içinde ayarlanır. versionName parametresi bir dize değeri kabul eder.

groovy
android {
    defaultConfig {
        versionCode 3
        versionName "2.1.0"
    }
}

versionName ayrıca harici bir dosyadan okunabilir veya Gradle Script kullanılarak dinamik olarak oluşturulabilir.

Dinamik versionName Oluşturma

Dinamik sürüm, CI/CD sisteminin ortam değişkenlerinden oluşturulur. Bu, her derlemenin doğru sürüm numarasını almasını sağlar.

groovy
def getVersionName = {
    return System.getenv("VERSION_NAME") ?:
            "2.1.0"
}

android {
    defaultConfig {
        versionName getVersionName()
    }
}

Bu yaklaşım, sürümlemeyi otomatikleştirir ve derleme ile depo etiketi arasındaki uyumsuzluk riskini ortadan kaldırır.

iOS'ta CFBundleShortVersionString Ayarlama

iOS'ta sürüm, Xcode aracılığıyla veya agvtool kullanılarak komut satırından ayarlanabilir.

bash
# Pazarlama sürümünü ayarlama
xcrun agvtool new-marketing-version 2.1.0

# Geçerli sürümü okuma
xcrun agvtool what-marketing-version

agvtool, Info.plist'i otomatik olarak günceller ve Xcode projesindeki tüm hedefler arasında sürümü senkronize eder.

Sıkça Sorulan Sorular

Version Name, Build Number'dan nasıl farklıdır?

Version Name, uygulama mağazasında görüntülenen kullanıcı odaklı bir sürüm dizesidir. Build Number, her derlemeyi benzersiz şekilde tanımlayan dahili bir sayısal derleme tanımlayıcısıdır ve mağazalar tarafından sürümün yeniliğini belirlemek için kullanılır.

Version Name'te harf kullanılabilir mi?

Android'de versionName, harfler ve kısa çizgiler dahil herhangi bir karakter içerebilir. iOS'ta CFBundleShortVersionString, noktalarla ayrılmış sayılardan oluşmalıdır, ancak ön yayın sürümleri için harf eklerine izin verilir.

Version Name otomatik olarak nasıl artırılır?

CI/CD araçlarını kullanın — GitHub Actions, GitLab CI veya Jenkins. Derleme betiği, geçerli sürümü bir dosyadan okur, gerekli bileşeni artırır ve sürümü derlemeden önce yeni değeri yazar.

Version Name'i değiştirmezsem ne olur?

Mağaza, Build Number artmışsa yeni derlemeyi kabul eder. Ancak kullanıcılar sürümde değişiklik görmez, bu da karışıklığa neden olabilir. Yeni işlevselliğin her yayınında Version Name'in değiştirilmesi önerilir.

Kullanıcılar için en iyi Version Name biçimi hangisidir?

Major.Minor.Patch biçimi çoğu proje için en uygun seçimdir. Kullanıcılar ve geliştiriciler için anlaşılırdır, SemVer standardına uygundur ve tüm uygulama mağazaları tarafından desteklenir.

Özet

  • Version Name, Build Number'dan farklı olarak, uygulama mağazasında ve cihazda görüntülenen kullanıcı odaklı bir sürüm dizesidir.
  • Android'de build.gradle'daki versionName aracılığıyla ayarlanır, iOS'ta — Info.plist'teki CFBundleShortVersionString ile.
  • Anlamsal biçim Major.Minor.Patch, mobil uygulama sürümlemesi için standarttır ve kullanıcılar için anlaşılırdır.
  • Version Name, mağaza güncelleme mantığına katılmaz — bunun için Build Number (versionCode / CFBundleVersion) kullanılır.
  • CI/CD aracılığıyla sürümlemenin otomasyonu, hata riskini azaltır ve sürüm hazırlığını hızlandırır.
  • iOS için sürüm yönetimi için komut satırından agvtool kullanın; Android için Gradle Script kullanın.
  • Şema seçimi uygulama türüne bağlıdır — API'ye sahip ürünler için anlamsal, sık yayınlar için takvim.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun