Zum Hauptinhalt springen
🕵️ SicherheitslückenCVE-2026-20716 | Intel Processors access control (Nessus ID 346889)(18.09.2026 um 02:41 Uhr)
🕵️ SicherheitslückenCVE-2026-20713 | Intel Xeon processors control flow (Nessus ID 346889)(18.09.2026 um 02:41 Uhr)
🕵️ SicherheitslückenCVE-2026-20716 | Intel Processors access control (Nessus ID 346889)(18.09.2026 um 02:41 Uhr)
🕵️ SicherheitslückenCVE-2026-20713 | Intel Xeon processors control flow (Nessus ID 346889)(18.09.2026 um 02:41 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

Gerenciando versões iOS automaticamente sem ferramentas externas

TL;DR:

Vai, apressadinho: agvtool --help

Capítulo 1: Um longo esperado reencontro



Estava num pré-feriadão, tranquilo e feliz até precisar fazer uma release do SDK que mantenho no trabalho e o Fastlane estava quebrando o .xcodeproj.
Esse script recebia uma versão por parâmetro mas eu queria deixar isso totalmente automatizado no CI, aproveitei esse momento para começar a saga de reescrever tudo e resolver tanto o projeto corrompido, como automatizar o incremento da versão.

Capítulo 2: O Confronto com os Orcs

Utilizar Fastlane no meu contexto implica em gerenciar a versão do Ruby e do Fastlane, então novos desenvolvedores ou qualquer um do time que vá rodar o projeto precisariam configurar isso também, incluindo a máquina do CI.
Como eu preciso apenas fazer o archive e enviar o SDK, não é necessário o Fastlane, a solução escolhida foi fazer tudo em shell script mesmo.

Capítulo 3: A Chegada em Mordor

Image description

One script to rule them all

Dividi em 3 etapas:
1 - Descobrir a versão do projeto
2 - Fazer o incremento da versão, seguindo a lógica das versões anteriores
3 - Definir a versão no projeto

Aqui o primeiro passo é descobrir qual a versão atual do projeto e para isso usei o agvtool
Para pegar a versão do projeto utilizo o what-marketing-version e para pegar o build number what-version.
agvtool what-marketing-version

retorno da função agvtool what-marketing-version mostrando as versões em cada target

Em shell:

agv_output=$(agvtool what-marketing-version)
current_version=$(echo "$agv_output" | grep 'Found CFBundleShortVersionString' | head -n 1 | sed -E 's/.*of "([0-9]+\.[0-9]+\.[0-9]+)".*/\1/')
echo "$current_version"

Com o número da versão só fiz uma lógica para incrementar de acordo com o que meu projeto segue. Incrementa o patch até 9, depois passa para o minor até 9 e depois incrementa o major.

increment_version() {
    local version="$1"

    # Divide into (major, minor, patch)
    IFS='.' read -r major minor patch <<< "$version"

    # Increment the patch number, considering the limit of 9 
    if [ "$patch" -lt 9 ]; then
        ((patch++))
    else
        # If patch reaches 9, reset it to 0 and increment the minor number
        patch=0
        if [ "$minor" -lt 9 ]; then
            ((minor++))
        else
            # If minor reaches 9, reset it to 0 and increment the major number
            minor=0
            if [ "$major" -lt 9 ]; then
                ((major++))
            fi
        fi
    fi

    echo "$major.$minor.$patch"
}

E finalmente, para atualizar a versão:

version=$(get_version)
new_version=$(increment_version $version)
agvtool new-marketing-version $new_version

Image description

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Gerenciando versões iOS automaticamente sem ferramentas externas

Thematisch verwandte Begriffe: Gerenciando, versões, automaticamente, ferramentas · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-61591 | djust provides Phoenix LiveView-style reactive server-side rendering for…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
News ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

↗ Original-Quelle