LaunchLint Academy

Die kurze Antwort
Bundle ID und Android-Paketname sind die dauerhafte technische Identität einer App. Sie müssen zum Store-Datensatz, zu Signierung, Capabilities, OAuth-Konfiguration und dem tatsächlich hochgeladenen Build passen.
- Trenne sichtbare App-Version und interne Build-Nummer, erhöhe jeden technischen Zähler korrekt und prüfe vor dem ersten Upload, welche Identitätswerte später nicht mehr geändert werden können.
Nachweise für die Release-Freigabe
Prüfe app-identität, signierung und versionierung nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Trenne bei App-Identität, Signierung und Versionierung drei Nachweise: statisch erkennbare Projektkonfiguration, Verhalten auf einem sauberen Gerät und externe Einstellungen in Apple Developer, App Store Connect oder Play Console. Erst wenn diese Ebenen denselben Release-Kandidaten beschreiben, ist die Prüfung belastbar. Dokumentiere Abweichungen mit Owner und Stop-Kriterium, statt sie als vermeintlichen Standardwert zu akzeptieren.
Nachweise für die Release-Freigabe
- Produktionswert für technische app-identität festlegen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
1. Technische App-Identität festlegen
Wähle reverse-DNS-Identifikatoren, die langfristig zum Produkt und zum eigenen Entwicklerkonto passen. Sichtbarer Name und technische Identität sind unterschiedliche Dinge.
Prüfe technische app-identität festlegen nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für technische app-identität festlegen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
2. Apple Bundle ID abgleichen
CFBundleIdentifier, App-ID und App-Store-Connect-Datensatz müssen exakt zusammenpassen. Nach dem ersten Upload lässt sich die Bundle ID nicht wie ein Marketingname austauschen.
Prüfe apple bundle id abgleichen nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für apple bundle id abgleichen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
3. Android applicationId verstehen
Unterscheide applicationId, Package Name und Gradle namespace. Für Google Play zählt die veröffentlichte Anwendungs-ID als dauerhafte Identität.
Prüfe android applicationid verstehen nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für android applicationid verstehen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
4. Signierung und Besitz prüfen
Kontrolliere Apple-Team, Provisioning, Android Upload Key und Play App Signing. Sichere Wiederherstellung und Verantwortlichkeiten, bevor nur eine Person Zugriff besitzt.
Prüfe signierung und besitz prüfen nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für signierung und besitz prüfen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
5. Version und Buildnummer trennen
Die sichtbare Version beschreibt den Release für Nutzer. buildNumber beziehungsweise versionCode identifizieren technische Artefakte und müssen bei neuen Uploads korrekt steigen.
Prüfe version und buildnummer trennen nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für version und buildnummer trennen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
6. Framework-Konfiguration auflösen
Prüfe bei Expo, Flutter und Capacitor nicht nur app.json oder eine YAML-Datei. Plugins, Flavors und Umgebungsvariablen können native Werte verändern.
Prüfe framework-konfiguration auflösen nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für framework-konfiguration auflösen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
7. Integrationen an die Identität koppeln
Push, Universal Links, App Links, OAuth, Keychain-Gruppen und Zahlungsdienste verwenden häufig Bundle ID, Team ID oder Package Name. Erfasse diese Abhängigkeiten.
Prüfe integrationen an die identität koppeln nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für integrationen an die identität koppeln eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
8. Signierten Kandidaten abnehmen
Vergleiche Store-Datensatz, Binary-Metadaten, Signatur, Version und installierte App. Dokumentiere genau den Build, der eingereicht wird.
Prüfe signierten kandidaten abnehmen nicht als isolierten Schalter, sondern im Zusammenhang mit App-Identität, Signierung und Versionierung, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für signierten kandidaten abnehmen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
Häufige Fragen
Kann ich die Bundle ID nach dem ersten Upload ändern?
Für denselben App-Datensatz grundsätzlich nicht wie einen sichtbaren Namen. Eine andere Bundle ID ist technisch eine andere App.
Sind Package Name und namespace identisch?
Sie können gleich sein, erfüllen in modernen Android-Projekten aber unterschiedliche Aufgaben. Für die veröffentlichte App ist applicationId entscheidend.
Darf ich eine Buildnummer erneut verwenden?
Apple und Google erwarten für neue Uploads eindeutige beziehungsweise steigende technische Versionen. Prüfe den konkreten Store-Fehler und erhöhe den richtigen Wert.
Kann LaunchLint Zertifikate validieren?
LaunchLint kann Konfiguration und Widersprüche erkennen. Private Schlüssel, Store-Besitz und die vollständige Signaturkette bleiben außerhalb einer statischen Projektprüfung.