Match (Fastlane): Was es ist, Zertifikatsverwaltung und Einrichtung in der Entwicklung

Autor: IT Sectr Veröffentlicht: 2026-04-14 Lesezeit: 10 Min.

Match (Fastlane) ist ein Tool zur Verwaltung von Code Signing-Zertifikaten und Provisioning Profiles für iOS, das diese in einem verschlüsselten Git-Repository speichert. Im Gegensatz zur manuellen Verwaltung über das Apple Developer Portal automatisiert Match die Synchronisierung von Signaturen zwischen allen Entwicklern und CI/CD-Systemen. Laut der offiziellen Fastlane-Dokumentation (2026) beseitigt Match bis zu 90% der Fehler im Zusammenhang mit falschen Zertifikaten beim Erstellen von iOS-Anwendungen.

Wichtige Punkte

  • Match ist ein Fastlane-Dienstprogramm zur zentralen Speicherung und Synchronisierung von iOS-Zertifikaten und Provisioning Profiles über ein verschlüsseltes Git-Repository.
  • Alle Zertifikate werden vor dem Speichern im Repository mit OpenSSL verschlüsselt, was die Schlüsselsicherheit auch bei öffentlichem Repository-Zugriff gewährleistet.
  • Match unterstützt mehrere Profiltypen: development, appstore, adhoc und enterprise — für verschiedene Build- und Verteilungsszenarien.
  • Die Integration mit CI/CD ermöglicht es Teams, automatisch aktuelle Zertifikate ohne manuellen Export aus dem Apple Developer Portal auf jedem Rechner zu erhalten.
  • Das --readonly-Flag verhindert versehentliche Änderungen an Zertifikaten in der CI-Umgebung und garantiert die Stabilität der automatisierten Build-Pipeline.

Was ist Match (Fastlane)?

Match (Fastlane) ist eine Komponente des Fastlane-Ökosystems, die für die zentrale Verwaltung von Code Signing-Zertifikaten und Provisioning Profiles für die iOS-Entwicklung entwickelt wurde. Es löst das Problem der Synchronisierung von Signaturen zwischen Teammitgliedern und automatisiert die Zertifikatseinrichtung in CI/CD-Pipelines ohne Entwicklereingriff.

Ohne Match generiert jedes Teammitglied manuell Zertifikate über Xcode oder das Apple Developer Portal, was zu Build-Konflikten auf verschiedenen Maschinen führt. Code Signing ist der Prozess des digitalen Signierens einer iOS-Anwendung, der ihre Urheberschaft und Integrität vor der Installation auf einem Gerät des Benutzers bestätigt.

Laut der Apple Developer-Dokumentation (2025) ist eine falsche Zertifikatskonfiguration eine der häufigsten Ursachen für Ablehnungen beim Einreichen einer App im App Store. Match prüft automatisch die Gültigkeit von Zertifikaten und warnt vor ablaufenden Zertifikaten, wodurch das Risiko einer Build-Ablehnung während der Apple-Überprüfungsphase verringert wird.

Verwenden Sie Match in jedem Projekt mit zwei oder mehr Entwicklern oder wenn Sie eine CI/CD-Pipeline haben — es reduziert die Zeit für die Einrichtung der Umgebung eines neuen Teammitglieds von 30 Minuten auf einen einzigen Terminalbefehl.

Wie Match funktioniert: verschlüsselter Git-Speicher

Match-Architektur basiert auf dem Konzept einer einzigen Quelle der Wahrheit für alle iOS-Teamzertifikate. Anstatt der lokalen Speicherung in der Schlüsselbund jedes Entwicklers konsolidiert Match die Zertifikate in einem einzigen Git-Repository mit Verschlüsselung jeder Datei vor der Speicherung.

Der Prozess besteht aus drei Phasen. In der Initialisierungsphase generiert Match alle erforderlichen Zertifikate und Profile über die Apple Developer Portal API. Jede Datei wird mit dem AES-256-Algorithmus mit einem Schlüssel verschlüsselt, der aus einer benutzerdefinierten Passphrase gebildet wird. Verschlüsselte Dateien werden im Git-Repository gespeichert und über standardmäßige Git-Push- und Pull-Operationen mit dem entfernten Server synchronisiert.

Architektur der Zertifikatsverschlüsselung

Match verwendet eine Kombination aus OpenSSL und einer benutzerdefinierten Passphrase, um Zertifikate und Profile zu verschlüsseln. Der Zugriffsschlüssel wird über die Umgebungsvariable MATCH_PASSWORD festgelegt und nicht im Repository gespeichert, was Lecks selbst bei Kompromittierung des Git-Servers oder öffentlichem Zugriff auf das Repository verhindert.

Beim Anfordern eines Zertifikats lädt Match die verschlüsselte Datei aus dem Repository herunter, entschlüsselt sie lokal mit der Passphrase und installiert sie im Schlüsselbund der aktuellen Maschine. Nach Abschluss des Builds können Zertifikate aus dem Schlüsselbund entfernt werden, um die Sicherheitsrichtlinien von Unternehmensumgebungen einzuhalten — dies verhindert die Verwendung veralteter Zertifikate in nachfolgenden Builds.

Jedes Zertifikat wird mit einem Namen gespeichert, der die Anwendungskennung, den Profiltyp und das Erstellungsdatum enthält. Diese Struktur ermöglicht es Match, Zertifikatsversionen zu verwalten und bei Bedarf Änderungen mit standardmäßigen Git-Revert- und Reset-Befehlen auf einen vorherigen Zustand zurückzusetzen. Dies ist besonders nützlich, wenn ein Profil versehentlich gelöscht oder überschrieben wird.

Match Einrichtung und Konfiguration

Match wird zusammen mit Fastlane über den Ruby-Paketmanager installiert: gem install fastlane. Nach der Installation initialisieren Sie den Zertifikatsspeicher mit dem Befehl fastlane match init, der ein leeres Git-Repository erstellt und eine Matchfile mit einer grundlegenden Konfigurationsvorlage generiert.

bash
# Match-Repository initialisieren
fastlane match init

Konfiguration über Matchfile

Die Datei Matchfile enthält alle Verbindungsparameter zum Zertifikatsspeicher: Git-Repository-URL, Standard-Profiltyp, Anwendungskennungen und Apple Developer-Anmeldeinformationen. Beispiel einer typischen Konfiguration für ein Team von fünf Entwicklern:

ruby
# Matchfile-Konfiguration
git_url("https://github.com/company/certificates.git")
type(:development)
app_identifier(["com.company.app", "com.company.app.extension"])
username("developer@company.com")
team_id("TEAM123456")
git_branch("main")

Der Parameter type definiert den Profiltyp: :development zum Debuggen auf Entwicklergeräten, :appstore zur Veröffentlichung im App Store, :adhoc zum Testen auf externen Geräten und :enterprise für die unternehmensinterne In-House-Verteilung außerhalb des App Stores. Jeder Typ erstellt ein separates Verzeichnis im Repository, sodass Profile nach Ziel-Build-Szenarien organisiert werden können.

Match unterstützt mehrere Authentifizierungsmethoden für das Apple Developer Portal: Zwei-Faktor-Authentifizierung über Apple ID, app-spezifisches Passwort und App Store Connect-API-Schlüssel. Für CI/CD werden API-Schlüssel empfohlen — sie erfordern keine interaktive Eingabe eines Bestätigungscodes und blockieren automatisierte Builds nicht, wenn sich das Gerät des Entwicklers ändert.

Generierung und Synchronisierung von Profilen

Nach der Konfiguration der Matchfile führen Sie den Befehl fastlane match development oder fastlane match appstore aus, um Profile zu generieren und zu synchronisieren. Match erstellt oder aktualisiert automatisch Zertifikate über die Apple Developer Portal API und speichert sie im Repository. Apple Developer Portal ist die Weboberfläche von Apple zur Verwaltung von Zertifikaten, Anwendungskennungen und Listen zugelassener Entwicklergeräte.

Beim ersten Start fragt Match nach einer Passphrase zum Verschlüsseln des Repositorys. Diese Passphrase muss im CI/CD-Geheimnisverwalter (GitHub Actions Secrets, GitLab CI Variables oder Jenkins Credentials) gespeichert und über die Umgebungsvariable MATCH_PASSWORD übergeben werden. Ohne sie kann Match Zertifikate auf anderen Maschinen oder in der CI-Umgebung nicht entschlüsseln.

Grundlegende Match-Befehle zur Zertifikatsverwaltung

Match-Schnittstelle besteht aus einer Reihe von Befehlen zum Erstellen, Aktualisieren, Synchronisieren und Löschen von Zertifikaten und Profilen. Jeder Befehl entspricht einer bestimmten Aktion im Lebenszyklus von Code Signing: von der Generierung bis zur vollständigen Bereinigung des Repositorys.

Befehle für die tägliche Arbeit

Der Befehl fastlane match development lädt Development-Zertifikate und -Profile zum Debuggen auf lokalen Geräten herunter oder erstellt sie. Provisioning Profile ist ein digitales Dokument von Apple, das ein Entwicklerzertifikat mit einer Anwendungskennung und einer Liste zur Installation berechtigter Geräte verknüpft.

Für die Veröffentlichung im App Store verwenden Sie fastlane match appstore — es generiert Verteilungszertifikate und AppStore-Profile. Der Befehl fastlane match adhoc erstellt Profile zum Testen auf externen Geräten und fastlane match enterprise für unternehmensinterne In-House-Anwendungen.

bash
# Development-Profile zum Debuggen erstellen
fastlane match development

# AppStore-Profile für die Veröffentlichung erstellen
fastlane match appstore

# Vorhandene manuell erstellte Zertifikate importieren
fastlane match import

Der Befehl fastlane match import ermöglicht das Hinzufügen vorhandener Zertifikate zum Repository — nützlich bei der Migration von der manuellen Verwaltung zu Match. Der Parameter --readonly blockiert jegliche Änderungen am Repository, was für CI-Umgebungen entscheidend ist, in denen die Pipeline keine Zertifikate und Profile automatisch erstellen oder löschen darf.

Match-BefehlZweckProfiltyp
match developmentEntwicklungsprofile zum Debuggen auf Geräten erstellenDevelopment
match appstoreProfile für die Veröffentlichung im App Store erstellenAppStore
match adhocProfile für externe Tests auf Beta-Tester-GerätenAdHoc
match enterpriseUnternehmensprofile für In-House-VerteilungEnterprise
match importZuvor erstellte Zertifikate in das Repository importierenBeliebig

Für eine vollständige Bereinigung des Repositorys verwenden Sie den Befehl fastlane match nuke. Er entfernt alle Zertifikate aus dem Git-Speicher, dem Apple Developer Portal und der lokalen Maschine — ein vollständiger Reset des Code Signing-Zustands für das Projekt. Der Befehl wird nur bei kritischen Konflikten oder bei der Migration zu einem neuen Apple Developer-Konto verwendet.

Integration von Match in die CI/CD-Pipeline

CI/CD-Integration von Match ist einer der Hauptvorteile des Tools. In Pipelines von GitHub Actions, GitLab CI, Bitrise oder Jenkins lädt Match automatisch die richtigen Zertifikate herunter und installiert sie ohne Entwicklerbeteiligung. Dies ermöglicht vollständig automatisierte Builds und Signaturen von iOS-Anwendungen vom Commit bis zur fertigen IPA.

Eine typische GitHub Actions-Konfiguration umfasst die Installation von Fastlane, das Einrichten der MATCH_PASSWORD-Variable und das Ausführen von Match mit dem --readonly-Flag. GitHub Actions ist die CI/CD-Plattform von GitHub, die das Erstellen, Testen und Veröffentlichen von Code basierend auf Repository-Ereignissen automatisiert.

bash
# Fastlane in CI-Umgebung installieren
gem install fastlane --no-document

# Match im schreibgeschützten Modus ohne Änderungsrechte ausführen
fastlane match development --readonly

Bevor Sie Match in CI ausführen, konfigurieren Sie den Zugriff auf das Zertifikatsrepository. Fastlane klont es automatisch basierend auf dem Parameter git_url aus der Matchfile. Der Repository-Zugriff wird über einen SSH-Schlüssel oder ein persönliches Zugriffstoken konfiguriert, die zu den Geheimnissen des CI-Systems hinzugefügt werden — dies stellt sicher, dass Zertifikate nicht über öffentlichen Zugriff gefährdet werden.

Setzen Sie die Umgebungsvariablen MATCH_PASSWORD und FASTLANE_APPLE_API_KEY in den Geheimnissen Ihres CI-Anbieters. Der App Store Connect-API-Schlüssel ermöglicht es Match, sich ohne Zwei-Faktor-Authentifizierung beim Apple Developer Portal zu authentifizieren, wodurch interaktive Aufforderungen in automatisierten Builds entfallen und eine Blockierung der Pipeline verhindert wird.

Häufige Fehler bei der Arbeit mit Match

Selbst bei korrekter Match-Konfiguration können Fehler im Zusammenhang mit abgelaufenen Zertifikaten, Profilkonflikten oder falscher Umgebungseinrichtung auftreten. Match-Problemanalyse basiert auf der Analyse von Befehlsprotokollen und der Überprüfung des Git-Repository-Status auf Aktualität der Zertifikate.

Der häufigste Fehler — «You need to provide a password for Match» — tritt auf, wenn die Umgebungsvariable MATCH_PASSWORD auf dem Rechner oder in der CI-Umgebung nicht gesetzt ist. Lösung: Fügen Sie MATCH_PASSWORD zu den Systemumgebungsvariablen hinzu oder übergeben Sie das Passwort über den Parameter --keychain_password beim Ausführen des Match-Befehls.

Das zweithäufigste Problem sind Zertifikatskonflikte beim Hinzufügen eines neuen Geräts zu einem AdHoc-Profil. Es wird mit dem Befehl fastlane match adhoc --force gelöst, der Profile unter Berücksichtigung neuer Geräte neu erstellt. Apple Developer-Zertifikate sind ein Jahr gültig, danach werden Builds, die sie verwenden, von App Store Connect abgelehnt. Match warnt 30 Tage vor Ablauf der Gültigkeitsdauer vor dem Ablauf.

Wenn der Fehler «Multiple matches found for...» auftritt, existieren mehrere Versionen desselben Zertifikats im Repository. Verwenden Sie den Befehl fastlane match nuke, um das Repository vollständig zu bereinigen und alle Zertifikate aus dem Apple Developer Portal zu entfernen. Führen Sie nach der Bereinigung eine Neu Generierung durch — dies gewährleistet einen konsistenten Profilzustand ohne Duplikate oder widersprüchliche Versionen.

Häufig gestellte Fragen

Wie verschlüsselt Match Zertifikate in einem Git-Repository?

Match verwendet OpenSSL mit dem AES-256-CBC-Algorithmus, um jede Zertifikatsdatei vor dem Speichern in Git zu verschlüsseln. Der Verschlüsselungsschlüssel wird auf Basis der MATCH_PASSWORD-Passphrase gebildet. Selbst bei öffentlichem Repository-Zugriff bleiben Zertifikate ohne Kenntnis des Passworts unzugänglich.

Kann Match ohne Git-Repository verwendet werden?

Nein, Match benötigt ein Git-Repository zum Speichern verschlüsselter Zertifikate. Das Repository kann jedoch lokal sein, wenn keine Synchronisierung zwischen Maschinen erforderlich ist. In diesem Fall gibt der Parameter git_url einen lokalen Pfad zu einem Verzeichnis im Dateisystem anstelle einer entfernten Repository-URL an.

Was tun bei Konflikten von Zertifikatsversionen im Team?

Konflikte treten auf, wenn zwei Entwickler gleichzeitig unterschiedliche Zertifikate generieren. Die Lösung besteht darin, den Befehl fastlane match nuke zu verwenden, um alle Zertifikate im Repository und im Apple Developer Portal vollständig zu bereinigen. Nach der Bereinigung führt ein Entwickler eine Neu Generierung durch und synchronisiert über Git.

Wie aktualisiert man Zertifikate in Match nach ihrem Ablauf?

Match erkennt automatisch abgelaufene Zertifikate beim Start und bietet an, sie zu ersetzen. Für eine erzwungene Erneuerung führen Sie fastlane match [type] --force aus — der Befehl erstellt Zertifikate und Profile des angegebenen Typs neu, selbst wenn vorhandene noch gültig sind, was beim Wechsel des Entwicklerteams nützlich ist.

Wie unterscheidet sich Match von der manuellen Zertifikatsverwaltung in Xcode?

Die manuelle Verwaltung erfordert die Generierung von Zertifikaten über Xcode oder das Developer Portal für jede Maschine separat. Match zentralisiert die Speicherung, verschlüsselt Daten, synchronisiert sie zwischen Entwicklern und CI/CD und prüft automatisch die Gültigkeit und das Ablaufdatum aller Signaturen ohne menschliches Eingreifen.

Zusammenfassung

  • Match ist ein Fastlane-Tool zur Verwaltung von iOS Code Signing-Zertifikaten über ein verschlüsseltes Git-Repository als einzige Quelle der Wahrheit.
  • Die Verschlüsselung basierend auf AES-256 und OpenSSL schützt Zertifikate selbst bei öffentlichem Repository-Zugriff, und die Passphrase wird über die Variable MATCH_PASSWORD festgelegt.
  • Match unterstützt vier Profiltypen: development, appstore, adhoc und enterprise — jeder für sein eigenes Ziel-Anwendungsverteilungsszenario.
  • Die Konfiguration erfolgt über die Datei Matchfile, in der git_url, Profiltyp, Anwendungskennungen und Apple Developer-Anmeldeinformationen angegeben werden.
  • Die CI/CD-Integration über das --readonly-Flag ermöglicht den automatischen Abruf von Zertifikaten in Pipelines ohne Risiko von Repository-Änderungen oder Konflikten.
  • Bei Problemen wird der Befehl nuke zur vollständigen Repository-Bereinigung oder --force zur erzwungenen Erneuerung von Zertifikaten und Profilen verwendet.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch