Version Name: podstata parametru a nastavení

Autor: IT Sectr Publikováno: 2026-04-18 Doba čtení: 8 min

Version Name — je řetězec verze aplikace, který uživatel vidí v obchodě a na zařízení. Na rozdíl od Build Number má tento parametr sémantický význam a odráží důležitost změn. Podle Android Developers, 2025, správné používání Version Name pomáhá uživatelům chápat aktuálnost aktualizací a důvěřovat procesu vývoje.

Hlavní

  • Version Name — uživatelský řetězec verze zobrazovaný v App Store, Google Play a na zařízení uživatele.
  • V Android se nastavuje parametrem versionName v souboru build.gradle, v iOS — CFBundleShortVersionString v Info.plist.
  • Na rozdíl od Build Number se Version Name nepoužívá pro interní identifikaci sestavení a může se opakovat.
  • Sémantický formát Major.Minor.Patch — nejrozšířenější schéma pro nastavení Version Name.
  • Automatizace inkrementace Version Name přes CI/CD snižuje riziko lidské chyby při vydání.

Co je Version Name

Version Name — je sémantický řetězec, který identifikuje vydání aplikace pro uživatele. Na rozdíl od technických identifikátorů sestavení nese tento parametr význam: na jeho základě uživatel hodnotí, jak moc se nová aktualizace liší od předchozí.

Version Name se zobrazuje v kartě aplikace v Google Play a App Store, v sekci „O aplikaci” na zařízení a také v systémových dialozích aktualizace. Vývojáři jej uvádějí v konfiguračních souborech projektu před sestavením verze vydání.

Podle Semantic Versioning 2.0 (2023) se formát Major.Minor.Patch používá v 78% mobilních aplikací. Major verze se mění při nekompatibilních změnách API, minor — při přidávání funkčnosti, patch — při opravách chyb.

Používejte Version Name pro komunikaci s uživatelem: měl by okamžitě chápat, jak velkou aktualizaci dostává — major, minor nebo korekční.

Struktura sémantické verze

Sémantická verze se skládá ze tří čísel oddělených tečkami: Major.Minor.Patch. Každá z těchto komponent odpovídá za určitou úroveň změn v aplikaci.

Major verze (Major) se zvyšuje při zásadních změnách, které porušují zpětnou kompatibilitu. Minor verze (Minor) přidává novou funkčnost bez narušení stávající. Patch obsahuje pouze opravy chyb.

Například verze 3.2.1 znamená: třetí major verze, druhá minor aktualizace, první patch. Tento systém je srozumitelný jak vývojářům, tak uživatelům.

Kde se zobrazuje Version Name

Version Name je viditelný uživateli na několika klíčových místech. V obchodě s aplikacemi se zobrazuje v záhlaví karty aplikace a v seznamu aktualizací. Na zařízení — v systémových nastaveních v sekci „O aplikaci”.

V Google Play se Version Name zobrazuje pod názvem aplikace a ovlivňuje rozhodnutí uživatele o aktualizaci. V App Store se řetězec verze zobrazuje na stejném místě při prohlížení stránky aplikace.

Podle výzkumu Apptentive (2024) 67% uživatelů kontroluje verzi aplikace před aktualizací a srozumitelná sémantika zvyšuje konverzi na instalaci o 23%.

Version Name na Android

Na Android se Version Name nastavuje parametrem versionName v souboru build.gradle (úroveň modulu). Tento parametr je řetězec a může obsahovat libovolné znaky, včetně teček, pomlček a písmen.

Parametr se deklaruje uvnitř bloku android.defaultConfig spolu s povinným parametrem versionCode. Android neukládá omezení na formát řetězce, ale Google Play doporučuje používání sémantického formátu.

Podle Android Developers (2025) Google Play používá versionName pro zobrazení v rozhraní obchodu, ale neanalyzuje jeho obsah programově — pouze versionCode ovlivňuje logiku aktualizace.

Uvádějte Version Name ve formátu Major.Minor.Patch a synchronizujte jej s tagem v systému řízení verzí pro jednoznačnou identifikaci vydání.

Vlastnosti versionName v Gradle

Gradle umožňuje nastavit versionName staticky v build.gradle nebo dynamicky prostřednictvím skriptů sestavení. Dynamické generování je užitečné pro automatická noční sestavení a CI/CD pipeline.

V build.gradle můžete použít proměnné prostředí, parametry příkazového řádku nebo volání shell skriptů pro vytvoření versionName. Typický přístup je čtení verze ze souboru version.properties.

Tato flexibilita umožňuje týmům automatizovat proces verzování a eliminovat lidský faktor při přípravě vydání.

Version Name na iOS

Na iOS se Version Name nastavuje klíčem CFBundleShortVersionString v souboru Info.plist. Toto je povinný parametr pro publikaci aplikace v App Store a je přísně typován jako řetězec.

Na rozdíl od Android App Store Connect kontroluje formát Version Name a vyžaduje shodu se vzorem čísel oddělených tečkami. Maximální délka řetězce je 18 znaků a každá komponenta verze nesmí přesáhnout 255.

Podle Apple Developer Documentation (2025) používá App Store CFBundleShortVersionString pro zobrazení verze v rozhraní obchodu a v systémových dialozích na zařízení uživatele.

Při nahrávání sestavení do App Store Connect se ujistěte, že Version Name odpovídá verzi uvedené v marketingových materiálech — to zjednodušuje komunikaci s uživateli.

Integrace s Xcode

Xcode poskytuje grafické rozhraní pro změnu Version Name v nastavení targetu. Pole „Marketing Version” se nachází na záložce General v sekci Identity. Změny se automaticky ukládají do Info.plist.

Pro automatizaci můžete použít skripty sestavení v Xcode Build Phases nebo nástroj agvtool (Apple Generic Version Tool). agvtool umožňuje správu verzí z příkazového řádku a integraci s CI/CD.

Takový přístup je obzvláště vhodný při použití fastlane nebo Jenkins pro automatické sestavení a doručování aplikací.

Rozdíly mezi Version Name a Build Number

Version Name a Build Number plní různé úkoly v procesu vývoje. Version Name je uživatelský řetězec a Build Number je interní číselný identifikátor, který jednoznačně identifikuje každé sestavení.

Build Number (versionCode v Android, CFBundleVersion v iOS) se musí zvyšovat s každým novým sestavením a používají ho obchody s aplikacemi k určení, která verze je novější. Version Name může zůstat nezměněn pro několik sestavení stejné verze.

Podle Google Play Policy (2025) jsou dvě aplikace se stejným versionCode považovány za stejnou verzi — versionCode musí být jedinečný pro každý APK. Version Name se tohoto ověření neúčastní.

Vždy zvyšujte Build Number při každém sestavení a měňte Version Name pouze při změně funkčnosti — to předchází konfliktům při publikování.

Jak vybrat Version Name

Výběr Version Name závisí na strategii verzování týmu. Nejběžnějším přístupem je sémantické verzování (SemVer), ale existují i alternativní schémata, jako je kalendářní verzování nebo verzování podle data vydání.

Semantic Versioning 2.0 doporučuje formát Major.Minor.Patch s volitelnými pre-release příponami. Pro mobilní aplikace je populární také schéma Major.Minor, kde se patch vynechává pro zjednodušení vnímání.

Kalendářní verzování (CalVer) používá datum vydání jako číslo verze — například 25.06 (rok a měsíc). Tento přístup je vhodný pro aplikace s častými vydáními, kde sémantika není důležitá.

Doporučení pro výběr schématu

Semantické verzování je vhodné pro aplikace s veřejným API, kde je důležitá zpětná kompatibilita. Uživatelé a integrátoři chápou, jaké změny očekávat při aktualizaci.

Kalendářní verzování se volí pro aplikace, kde je pro uživatele důležitá čerstvost vydání, nikoli rozsah změn. Například agregátory zpráv nebo meteoaplikace.

Hybridní schéma kombinuje oba přístupy: Major.Minor.RC, kde RC je číslo sestavení pro konkrétního kandidáta vydání. Toto schéma je vhodné při aktivním beta testování.

Příklady nastavení Version Name

Příklady kódu níže ukazují, jak nastavit Version Name na Android a iOS. Pro Android se používá Gradle, pro iOS — Xcode Build Settings s agvtool.

Nastavení versionName v Android

V Android se verze nastavuje v souboru app/build.gradle uvnitř bloku defaultConfig. Parametr versionName přijímá hodnotu řetězce.

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

versionName lze také číst z externího souboru nebo dynamicky generovat pomocí Gradle Script.

Dynamické generování versionName

Dynamická verze je tvořena z proměnných prostředí CI/CD systému. To zaručuje, že každé sestavení obdrží správné číslo verze.

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

android {
    defaultConfig {
        versionName getVersionName()
    }
}

Takový přístup automatizuje verzování a eliminuje riziko nesouladu mezi sestavením a tagem v repozitáři.

Nastavení CFBundleShortVersionString v iOS

V iOS lze verzi nastavit prostřednictvím Xcode nebo příkazového řádku pomocí agvtool.

bash
# Nastavení marketingové verze
xcrun agvtool new-marketing-version 2.1.0

# Čtení aktuální verze
xcrun agvtool what-marketing-version

agvtool automaticky aktualizuje Info.plist a synchronizuje verzi mezi všemi targety v projektu Xcode.

Často kladené otázky

Čím se Version Name liší od Build Number?

Version Name — uživatelský řetězec verze zobrazovaný v obchodě s aplikacemi. Build Number — interní číselný identifikátor sestavení, který jednoznačně identifikuje každý build a používají ho obchody k určení novosti verze.

Lze v Version Name používat písmena?

V Android může versionName obsahovat libovolné znaky, včetně písmen a pomlček. V iOS musí CFBundleShortVersionString sestávat z čísel oddělených tečkami, i když jsou písmenné přípony povoleny pro pre-release verze.

Jak automaticky zvyšovat Version Name?

Použijte CI/CD nástroje — GitHub Actions, GitLab CI nebo Jenkins. Skript sestavení přečte aktuální verzi ze souboru, zvýší požadovanou komponentu a zapíše novou hodnotu před sestavením vydání.

Co se stane, když nezměním Version Name?

Obchod přijme nové sestavení, pokud byl Build Number zvýšen. Uživatelé však neuvidí změny ve verzi, což může způsobit zmatek. Doporučuje se měnit Version Name při každém vydání nové funkčnosti.

Který formát Version Name je nejlepší pro uživatele?

Formát Major.Minor.Patch — optimální volba pro většinu projektů. Je srozumitelný uživatelům i vývojářům, odpovídá standardu SemVer a je podporovaný všemi obchody s aplikacemi.

Shrnutí

  • Version Name — uživatelský řetězec verze zobrazovaný v obchodě s aplikacemi a na zařízení, na rozdíl od Build Number.
  • Na Android se nastavuje parametrem versionName v build.gradle, na iOS — CFBundleShortVersionString v Info.plist.
  • Semantický formát Major.Minor.Patch — standard verzování mobilních aplikací, srozumitelný uživatelům.
  • Version Name se neúčastní logiky aktualizace obchodů — k tomu slouží Build Number (versionCode / CFBundleVersion).
  • Automatizace verzování přes CI/CD snižuje riziko chyb a zrychluje přípravu vydání.
  • Pro iOS používejte agvtool z příkazového řádku pro správu verzí, pro Android — Gradle Script.
  • Výběr schématu verzování závisí na typu aplikace — sémantické pro produkty s API, kalendářní pro častá vydání.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také