Marketing Version — är den användarsynliga appversionen som visas i appbutiker och på enheten. Till skillnad från Build Number är denna parameter inriktad på användarens uppfattning och har semantisk betydelse. Enligt Apple Developer, 2025 ökar korrekt användning av Marketing Version användarnas förtroende för uppdateringar.
Huvudpunkter
Marketing Version — är en semantisk sträng som representerar appens version för slutanvändaren. I iOS anges den med nyckeln CFBundleShortVersionString, i Android med parametern versionName.
Termen „Marketing Version" används officiellt i Xcode: i gränssnittet för target-inställningar heter fältet „Marketing Version" och i Info.plist motsvarar det CFBundleShortVersionString. I Android är motsvarigheten versionName, även om termen används mer sällan.
Enligt Apple Developer Documentation (2025) bör Marketing Version bestå av högst tre siffror separerade med punkter, utan mellanslag och specialtecken. Varje siffra bör inte överstiga 255.
Välj Marketing Version så att den återspeglar ändringarnas betydelse: major-uppdateringar för genomgripande förändringar, minor för ny funktionalitet.
Marketing Version skiljer sig fundamentalt från Build Number i syfte: den första informerar användaren, den andra — identifierar bygget för butiken. Build Number kan öka utan att Marketing Version ändras.
Till exempel, vid korrigering av ett kritiskt fel i en utgiven version kan teamet bygga om appen med samma Marketing Version (1.2.0) men med ökat Build Number (från 15 till 16). Användaren ser samma version, men butiken förstår att bygget är nyare.
Denna flexibilitet gör det möjligt för utvecklare att släppa korrigeringar utan att meddela användare om versionsändring.
Marketing Version visas på flera viktiga interaktionspunkter mellan användaren och appen. I appbutiken syns den i appkortet, i uppdateringsbeskrivningen och i versionshistoriken.
På enheten visas Marketing Version i systeminställningarna (avsnittet „Om appen" eller „Appar"), i uppdateringsdialoger via App Store eller Google Play, samt inuti själva appen på skärmen „Om".
En tydlig Marketing Version hjälper användaren att bedöma hur aktuell den installerade versionen är och fatta beslut om uppdatering.
På iOS anges Marketing Version i Xcode via fältet „Marketing Version" på fliken General i target-inställningarna. Värdet sparas i Info.plist som CFBundleShortVersionString.
Versionsformatet regleras strikt av Apple: strängen måste innehålla en till tre siffror separerade med punkter (t.ex. 1, 1.2 eller 1.2.3). Maximal längd — 18 tecken. Varje siffra överstiger inte 255.
Enligt Apple App Store Review Guidelines (2025) tillåter App Store Connect inte uppladdning av ett bygge om Marketing Version skiljer sig från den tidigare publicerade versionen med mer än ett major- eller minor-värde — detta skyddar användare från missade uppdateringar.
Använd agvtool för att hantera Marketing Version från kommandoraden — detta förenklar integration med CI/CD-system och garanterar synkronisering med Build Number.
På Android anges Marketing Version med parametern versionName i filen build.gradle. Till skillnad från iOS lägger Android inga strikta begränsningar på formatet för versionssträngen.
versionName kan innehålla alla tecken: bokstäver, siffror, bindestreck och punkter. Google Play visar denna sträng i appkortet och i uppdateringslistan, men kontrollerar den inte mot någon mall.
Däremot rekommenderar Google Play att följa det semantiska formatet Major.Minor.Patch för enhetlighet. Detta förenklar användarnas uppfattning av versionen och möjliggör automatiserad analys av uppdateringar.
Ange en versionName som tydligt återspeglar releasetypen — major-uppdatering, minor eller patch. Detta hjälper användare att snabbt bedöma ändringarnas betydelse.
versionName på Android kan genereras dynamiskt baserat på Git-taggar eller CI/CD-variabler. Detta förenklar versionshanteringsprocessen och eliminerar avvikelser mellan repository och bygge.
Typiskt tillvägagångssätt — läsa Git-taggen (t.ex. v2.1.0) och använda dess värde som versionName. Om taggen saknas kan en version genereras baserat på datum och commit-nummer.
Detta tillvägagångssätt garanterar att versionName alltid motsvarar källkodens tillstånd och inte kräver manuell uppdatering.
Marketing Version och Build Number — är två oberoende parametrar som löser olika uppgifter. Marketing Version informerar användaren och Build Number identifierar tekniskt bygget.
Den viktigaste skillnaden — unikhet. Build Number måste vara unikt för varje bygge. Marketing Version kan upprepas: flera byggen av samma version har samma Marketing Version men olika Build Number.
Enligt Google Play Policy (2025), om två APK:er laddas upp med samma Marketing Version men olika Build Number, accepterar Google Play båda som olika byggen av samma version. För App Store gäller en liknande regel.
Kom ihåg: Build Number — för maskiner, Marketing Version — för människor. Automatisera det första och planera det andra noggrant.
Val av strategi för versionshantering beror på apptyp, målgrupp och releaseprocess. Tre huvudsakliga scheman — semantiskt, kalender och hybrid — täcker de flesta scenarier.
Semantisk version (SemVer) använder formatet Major.Minor.Patch och bestämmer strikt när varje komponent ska ökas. Det är idealiskt för appar med offentligt API och komplex integration.
Enligt semver.org (2023) används version 2.0.0 av SemVer-specifikationen i 89% av open-source mobila projekt och stöds av alla pakethanterare.
Kalenderversionshantering (CalVer) använder releasedatumet som version — till exempel 25.06 för juni 2025. Detta tillvägagångssätt är populärt i appar med täta uppdateringar.
CalVer bär inte information om ändringarnas betydelse, men visar utmärkt versionens färskhet. Användaren förstår omedelbart att version 25.06 är nyare än 25.03.
Välj kalenderversionshantering om din app uppdateras ofta och användare värderar datans aktualitet högre än ändringarnas omfattning.
För MVP och startups är en enkel semantisk version utan patch (Major.Minor) lämplig. För mogna produkter med långsiktigt stöd — full SemVer. För appar med kontinuerliga releaser — CalVer.
Använd aldrig datum som Build Number — detta kan leda till konflikter vid flera byggen per dag. Build Number bör vara sekventiellt eller sammansatt, men alltid monotont ökande.
Typiskt misstag — att hoppa över versionskomponenten vid övergång till en ny major-linje. Till exempel efter version 1.9.9 bör nästa vara 2.0.0, inte 1.10.0. Detta bryter semantiken och förvirrar användare.
Ett annat vanligt problem — diskrepans i Marketing Version mellan koden och appbutiken. Kontrollera alltid att versionName i build.gradle matchar versionen som anges i Google Play Console eller App Store Connect innan du skickar bygget för granskning.
Kodexempel visar hur man ställer in Marketing Version på båda plattformarna och automatiserar dess uppdatering.
I Android anges versionName i build.gradle. Värdet kan vara statiskt eller läsas från en miljövariabel.
android {
defaultConfig {
versionCode 15
versionName "2.1.0"
}
}
// Läsa version från Git-tagg
def getVersionNameFromGit = {
def tag = "git describe --tags".execute().
text.trim()
return tag.startsWith("v") ? tag.substring(1) : tag
}
versionName extraheras från Git-taggen, vilket garanterar överensstämmelse mellan versionen i repositoryt och i den kompilerade appen.
I iOS anges Marketing Version via Xcode eller agvtool. Kommandot nedan ställer in en ny marknadsföringsversion.
# Ställa in Marketing Version
xcrun agvtool new-marketing-version 2.1.0
# Automatisk ökning
xcrun agvtool next-marketing-version
agvtool uppdaterar automatiskt Info.plist och synkroniserar versionen mellan alla targets i Xcode-projektet.
Fastlane gör det möjligt att hantera Marketing Version på båda plattformarna från ett skript, vilket förenklar stödet för cross-platform-projekt.
# Ställa in marknadsföringsversion
increment_version_number(
version_number: "2.1.0"
)
# Automatisk ökning av minor-version
increment_version_number(
bump_type: "minor"
)
Fastlane fungerar på båda plattformarna och stöds av de flesta CI/CD-tjänster.
Vanliga frågor
Marketing Version — är versionen för användaren (visas i butiken), Build Number — intern identifierare för bygget. Marketing Version kan upprepas, Build Number måste vara unikt för varje bygge.
Vid varje release av ny funktionalitet, API-ändring eller större korrigering. För korrigerande releaser (hotfix) behöver Marketing Version inte ändras — det räcker att öka Build Number.
På Android — ja, versionName kan innehålla alla tecken. På iOS — endast siffror och punkter. Apple rekommenderar att följa numeriskt format för kompatibilitet med App Store.
Rekommenderas inte. Appbutiker stöder inte återställning av versioner. Släpp istället en ny version med korrigeringar och öka patch-komponenten. Användare växlar automatiskt till den nya versionen.
Använd en gemensam konfigurationsfil i projektets rot (t.ex. version.properties). Byggskript på båda plattformarna läser versionen från denna fil och garanterar synkronisering av värden.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också