Match (Fastlane): mi ez, tanúsítványkezelés és konfigurálás a fejlesztésben

Szerző: IT Sectr Megjelenés: 2026-04-14 Olvasási idő: 10 perc

Match (Fastlane) — egy eszköz a Code Signing tanúsítványok és iOS Provisioning Profiles kezelésére, amelyeket egy titkosított Git tárban tárol. Az Apple Developer Portalon keresztüli kézi kezeléssel ellentétben a Match automatizálja az aláírások szinkronizálását az összes fejlesztő és CI/CD rendszer között. A Fastlane hivatalos dokumentációja (2026) szerint a Match akár 90%-kal csökkenti az iOS alkalmazások összeállításakor előforduló, hibás tanúsítványokkal kapcsolatos hibákat.

Főbb pontok

  • Match — egy Fastlane segédprogram az iOS tanúsítványok és Provisioning Profiles központosított tárolására és szinkronizálására egy titkosított Git táron keresztül.
  • Minden tanúsítvány OpenSSL segítségével kerül titkosításra a tárba mentés előtt, ami biztosítja a kulcsok biztonságát még nyilvános hozzáférés esetén is.
  • A Match több profilálust támogat: development, appstore, adhoc és enterprise — különböző összeállítási és terjesztési forgatókönyvekhez.
  • A CI/CD-vel való integráció lehetővé teszi a csapatok számára, hogy automatice naprakész tanúsítványokat szerezzenek be anélkül, hogy minden gépen kézzel exportálni kellene az Apple Developer Portalról.
  • A --readonly zászló megakadályozza a tanúsítványok véletlen módosítását a CI környezetben és garantálja az automatikus összeállítási csővezeték stabilitását.

Mi az a Match (Fastlane)?

Match (Fastlane) — a Fastlane ökoszisztéma egyik összetevője, amely az iOS fejlesztéshez szükséges Code Signing tanúsítványok és Provisioning Profiles központosított kezelésére szolgál. Megoldja az aláírások csapattagok közötti szinkronizálásának problémáját, és automatizálja a tanúsítványok beállítását a CI/CD csővezetékekben fejlesztői részvétel nélkül.

A Match nélkül minden csapattag kézzel hoz létre tanúsítványokat az Xcode-on vagy Apple Developer Portalon keresztül, ami konfliktusokhoz vezet a különböző gépeken történő összeállításkor. Code Signing — az iOS alkalmazás digitális aláírásának folyamata, amely megerősíti annak szerzőségét és integritását a felhasználó eszközére történő telepítés előtt.

Az Apple Developer Documentation (2025) szerint a tanúsítványok helytelen beállítása az egyik leggyakoribb oka az alkalmazás App Store-ba történő küldésének elutasításának. A Match automatice ellenőrzi a tanúsítványok érvényességét és figyelmeztet a lejárati időkre, ezzel csökkentve az összeállítás elutasításának kockázatát az Apple ellenőrzési szakaszában.

Használja a Match-ot bármely olyan projektben, ahol két vagy több fejlesztő dolgozik, vagy ahol CI/CD csővezeték van — ez 30 percről egyetlen terminálparancsra csökkenti az új csapattag környezetének beállítási idejét.

Hogyan működik a Match: titkosított Git tár

A Match architektúrája az iOS csapat összes tanúsítványának egységes igazságforrás koncepciójára épül. Ahelyett, hogy minden fejlesztő kulcstartójában lokálisan tárolná, a Match egyetlen Git tárban egyesíti a tanúsítványokat, minden fájlt titkosítva a mentés előtt.

A folyamat három szakaszból áll. Az inicializálási szakaszban a Match az Apple Developer Portal API-n keresztül létrehozza az összes szükséges tanúsítványt és profilt. Minden fájl AES-256 algoritmussal kerül titkosításra, egy felhasználói jelszó kifejezés alapján képzett kulccsal. A titkosított fájlok a Git tárban kerülnek tárolásra, és szinkronizálásra kerülnek a távoli szerverrel standard Git push és pull műveleteken keresztül.

A tanúsítványok titkosításának architektúrája

A Match az OpenSSL és egy felhasználói jelszó kifejezés kombinációját használja a tanúsítványok és profilok titkosításához. A hozzáférési kulcs a MATCH_PASSWORD környezeti változón keresztül állítható be, és nem kerül tárolásra a tárban, ami kizárja a szivárgást még a Git szerver kompromittálódása vagy a tárhoz való nyilvános hozzáférés esetén is.

Tanúsítvány kérésekor a Match betölti a titkosított fájlt a tárból, lokálisan visszafejti a jelszó kifejezés segítségével, és telepíti az aktuális gép Keychain-jébe. Az összeállítás befejezése után a tanúsítványok eltávolíthatók a Keychain-ből a vállalati környezet biztonsági irányelveinek betartása érdekében — ez megakadályozza az elavult tanúsítványok használatát a következő összeállításokban.

Minden tanúsítvány az alkalmazás azonosítóját, a profil típusát és a létrehozás dátumát tartalmazó néven kerül tárolásra. Ez a struktúra lehetővé teszi a Match számára a tanúsítványverziók kezelését és szükség esetén a standard Git revert és reset parancsokkal való visszatérést egy korábbi állapotba. Ez különösen hasznos egy profil véletlen törlése vagy felülírása esetén.

A Match beállítása és konfigurálása

A Match telepítése a Fastlane-nel együtt történik a Ruby csomagkezelőn keresztül: gem install fastlane. A telepítés után inicializálni kell a tanúsítványtárat a fastlane match init paranccsal, amely létrehoz egy üres Git tárat és legenerál egy Matchfile fájlt az alapbeállítások sablonjával.

bash
# Match tár inicializálása
fastlane match init

Konfiguráció Matchfile-on keresztül

A Matchfile fájl tartalmazza a tanúsítványtárhoz való csatlakozás összes paraméterét: a Git tár URL-jét, az alapértelmezett profiltípust, az alkalmazásazonosítókat és az Apple Developer hitelesítő adatokat. Egy tipikus konfiguráció példája öt fejlesztőből álló csapat számára:

ruby
# Matchfile configuration
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")

A type paraméter határozza meg a profiltípust: :development a fejlesztői eszközökön történő hibakereséshez, :appstore az App Store-ban történő publikáláshoz, :adhoc külső eszközökön történő teszteléshez és :enterprise vállalati In-House terjesztéshez az App Store-on kívül. Minden típus külön könyvtárat hoz létre a tárban, lehetővé téve a profilok cél összeállítási forgatókönyvek szerinti szervezését.

A Match több hitelesítési módszert támogat az Apple Developer Portalban: kétfaktoros hitelesítést Apple ID segítségével, App-Specific Password-öt és App Store Connect API kulcsokat. CI/CD esetén API kulcsok használata ajánlott — ezek nem igényelnek interaktív megerősítő kód bevitelt és nem blokkolják az automatikus összeállításokat a fejlesztői eszköz váltásakor.

Profilok generálása és szinkronizálása

A Matchfile konfigurálása után a fastlane match development vagy fastlane match appstore parancs kerül végrehajtásra a profilok generálásához és szinkronizálásához. A Match automatice létrehozza vagy frissíti a tanúsítványokat az Apple Developer Portal API-n keresztül, és elmenti azokat a tárba. Apple Developer Portal — az Apple webes felülete tanúsítványok, alkalmazásazonosítók és a fejlesztők engedélyezett eszközeinek listájának kezeléséhez.

Az első indításkor a Match kérni fog egy jelszó kifejezést a tár titkosításához. Ezt a kifejezést el kell menteni a CI/CD titokkezelőben (GitHub Actions Secrets, GitLab CI Variables vagy Jenkins Credentials), és a MATCH_PASSWORD környezeti változón keresztül kell átadni. Enélkül a Match nem tudja visszafejteni a tanúsítványokat más gépeken vagy a CI környezetben.

A Match fő parancsai tanúsítványkezeléshez

A Match felülete parancsok egy halmazából áll a tanúsítványok és profilok létrehozásához, frissítéséhez, szinkronizálásához és törléséhez. Minden parancs a Code Signing életciklusának egy adott műveletének felel meg: a generálástól a tár teljes tisztításáig.

Napi munkához használt parancsok

A fastlane match development parancs betölti vagy létrehozza a Development tanúsítványokat és profilokat a helyi eszközökön történő hibakereséshez. Provisioning Profile — egy Apple digitális dokumentum, amely összeköti a fejlesztői tanúsítványt az alkalmazás azonosítójával és a telepítésre engedélyezett eszközök listájával.

Az App Store-ban történő publikáláshoz a fastlane match appstore használatos — ez Distribution tanúsítványokat és AppStore profilokat generál. A fastlane match adhoc parancs profilokat hoz létre külső eszközökön történő teszteléshez, a fastlane match enterprise pedig vállalati In-House alkalmazásokhoz.

bash
# Development profilok létrehozása hibakereséshez
fastlane match development

# AppStore profilok létrehozása kiadáshoz
fastlane match appstore

# Meglévő kézzel létrehozott tanúsítványok importálása
fastlane match import

A fastlane match import parancs lehetővé teszi meglévő tanúsítványok hozzáadását a tárhoz — hasznos a kézi kezelésről Match-re történő migráláskor. A --readonly paraméter blokkolja a tárban történő bármilyen változtatást, ami kritikus a CI környezetben, ahol a csővezeték nem hozhat létre és nem törölhet tanúsítványokat és profilokat automatice.

Match parancsCélProfil típusa
match developmentDevelopment profilok létrehozása eszközökön történő hibakereséshezDevelopment
match appstoreProfilok létrehozása App Store-ban történő publikáláshozAppStore
match adhocProfilok külső teszteléshez bétatesztelők eszközeinAdHoc
match enterpriseVállalati profilok In-House terjesztéshezEnterprise
match importKorábban létrehozott tanúsítványok importálása a tárbaBármely

A tár teljes tisztításához a fastlane match nuke parancs használatos. Ez eltávolítja az összes tanúsítványt a Git tárból, az Apple Developer Portalról és a helyi gépről — ez a Code Signing állapotának teljes visszaállítása a projekthez. A parancs csak kritikus konfliktusok esetén vagy új Apple Developer fiókra váltáskor alkalmazandó.

A Match integrálása a CI/CD csővezetékbe

A Match CI/CD integrációja — az eszköz egyik fő előnye. A GitHub Actions, GitLab CI, Bitrise vagy Jenkins csővezetékben a Match automatice betölti és telepíti a megfelelő tanúsítványokat fejlesztői részzvétel nélkül. Ez lehetővé teszi az iOS alkalmazás teljesen automatizált összeállítását és aláírását a committól a kész IPA-ig.

A GitHub Actions tipikus konfigurációja magában foglalja a Fastlane telepítését, a MATCH_PASSWORD változó beállítását és a Match indítását a --readonly zászlóval. GitHub Actions — a GitHub CI/CD platformja, amely automatizálja a kód összeállítását, tesztelését és publikálását a tárban történő események alapján.

bash
# Fastlane telepítése CI környezetben
gem install fastlane --no-document

# Match indítása read-only módban módosítási jog nélkül
fastlane match development --readonly

A Match CI-ben történő indítása előtt konfigurálni kell a hozzáférést a tanúsítványtárhoz. A Fastlane automatice klónozza a tárat a Matchfile git_url paramétere alapján. A tárhoz való hozzáférés SSH-kulccsal vagy personal access tokennel konfigurálható, amelyek a CI rendszer titkaihoz kerülnek hozzáadásra — ez garantálja, hogy a tanúsítványok nem kerülnek veszélybe nyilvános hozzáférés révén.

Állítsa be a MATCH_PASSWORD és FASTLANE_APPLE_API_KEY környezeti változókat a CI szolgáltató titkai között. Az App Store Connect API kulcs lehetővé teszi a Match számára, hogy kétfaktoros hitelesítés nélkül hitelesítse magát az Apple Developer Portalban, ami kizárja az interaktív kéréseket az automatikus összeállításokban és megakadályozza a csővezeték blokkolását.

Gyakori hibák a Match használata során

Még a Match helyes beállítása esetén is előfordulhatnak hibák a tanúsítványok lejárata, profilkonfliktusok vagy a környezet helytelen konfigurációja miatt. A problémák diagnosztizálása a Match parancsok naplóinak elemzésén és a tanúsítványok Git tára aktualitásának ellenőrzésén alapul.

A leggyakoribb hiba — «You need to provide a password for Match» — akkor fordul elő, amikor a MATCH_PASSWORD környezeti változó nincs beállítva a gépen vagy a CI környezetben. Megoldás: adja hozzá a MATCH_PASSWORD-ot a rendszer környezeti változóihoz, vagy adja át a jelszót a --keychain_password paraméteren keresztül a Match parancs indításakor.

A második leggyakoribb probléma a tanúsítványkonfliktus új eszköz AdHoc profilhoz történő hozzáadásakor. A fastlane match adhoc --force paranccsal oldható meg, amely újra létrehozza a profilokat az új eszközök figyelembevételével. Apple Developer a tanúsítványok egy évig érvényesek, ezt követően az ezeket használó összeállítást az App Store Connect elutasítja. A Match 30 nappal a határidő lejárta előtt figyelmeztet a lejáratra.

A «Multiple matches found for...» hiba esetén a tárban ugyanazon tanúsítvány több verziója található. Használja a fastlane match nuke parancsot a tár teljes tisztításához és az összes tanúsítvány Apple Developer Portalról történő eltávolításához. A tisztítás után végezze el a generálást a nulláról — ez garantálja a profilok konzisztens állapotát duplikátumok és ütköző verziók nélkül.

Gyakran ismételt kérdések

Hogyan titkosítja a Match a tanúsítványokat a Git tárban?

A Match az OpenSSL-t használja az AES-256-CBC algoritmussal minden tanúsítványfájl titkosításához a Git-be mentés előtt. A titkosítási kulcs a MATCH_PASSWORD jelszó kifejezés alapján kerül képzésre. Még a tárhoz való nyilvános hozzáférés esetén is a tanúsítványok hozzáférhetetlenek maradnak a jelszó ismerete nélkül.

Használható a Match Git tár nélkül?

Nem, a Match Git tárat igényel a titkosított tanúsítványok tárolásához. A tár azonban lehet lokális, ha a gépek közötti szinkronizálás nem szükséges. Ebben az esetben a git_url paraméterben a távoli tár URL-je helyett egy helyi elérési út kerül megadásra a fájlrendszerben lévő könyvtárhoz.

Mit kell tenni tanúsítványverzió-konfliktus esetén a csapatban?

Konfliktusok akkor fordulnak elő, amikor két fejlesztő egyidejűleg különböző tanúsítványokat hoz létre. Megoldás — használja a fastlane match nuke parancsot az összes tanúsítvány teljes eltávolításához a tárból és az Apple Developer Portalról. A tisztítás után egy fejlesztő végezze el a generálást a nulláról és szinkronizáljon Git-en keresztül.

Hogyan frissíthetők a tanúsítványok a Match-ben lejárat után?

A Match automatice észleli a lejárt tanúsítványokat indításkor és javasolja azok cseréjét. Kényszerített frissítéshez hajtsa végre a fastlane match [type] --force parancsot — a parancs újra létrehozza a megadott típusú tanúsítványokat és profilokat, még akkor is, ha a meglévők még érvényesek, ami hasznos a fejlesztői csapat váltásakor.

Miben különbözik a Match a kézi tanúsítványkezeléstől az Xcode-ban?

A kézi kezelés megköveteli a tanúsítványok Xcode-on vagy Developer Portalon keresztüli generálását minden géphez külön-külön. Match központosítja a tárolást, titkosítja az adatokat, szinkronizálja azokat a fejlesztők és CI/CD között, valamint automatice ellenőrzi az összes aláírás érvényességét és lejárati idejét emberi beavatkozás nélkül.

Összefoglalás

  • Match — Fastlane eszköz az iOS Code Signing tanúsítványok kezelésére egy titkosított Git táron keresztül, mint egyetlen igazságforrás.
  • Az AES-256 és OpenSSL alapú titkosítás védi a tanúsítványokat még a tárhoz való nyilvános hozzáférés esetén is, a jelszó kifejezés pedig a MATCH_PASSWORD változón keresztül állítható be.
  • A Match négy profiltípust támogat: development, appstore, adhoc és enterprise — mindegyik a saját cél alkalmazásterjesztési forgatókönyvéhez.
  • A konfiguráció a Matchfile fájlon keresztül történik, ahol megadásra kerül a git_url, a profiltípus, az alkalmazásazonosítók és az Apple Developer hitelesítő adatok.
  • A CI/CD-vel való integráció a --readonly zászlón keresztül lehetővé teszi a tanúsítványok automatikus beszerzését a csővezetékekben a tár módosításának és a konfliktusoknak a kockázata nélkül.
  • Problémák esetén a nuke parancs használatos a tár teljes tisztítására, vagy a --force a tanúsítványok és profilok kényszerített frissítésére.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is