Match (Fastlane) — bu Code Signing sertifikatlari va iOS Provisioning Profiles larini shifrlangan Git omborida saqlaydigan vositadir. Apple Developer Portal orqali qo‘lda boshqarishdan farqli o‘laroq, Match barcha ishlab chiqaruvchilar va CI/CD tizimlari o'rtasida imzolarni sinxronlashni avtomatlashtiradi. Fastlane rasmiy hujjatlariga (2026) ko‘ra, Match iOS ilovalarini yig‘ishda noto‘g‘ri sertifikatlar bilan bog‘liq xatolarning 90% gacha qismini bartaraf etadi.
Asosiy ma'lumotlar
Match (Fastlane) — bu iOS ishlab chiqish uchun Code Signing sertifikatlari va Provisioning Profiles larini markazlashtirilgan boshqarish uchun mo‘ljallangan Fastlane ekotizimining komponentidir. U jamoa a'zolari o'rtasida imzolarni sinxronlash muammosini hal qiladi va ishlab chiqaruvchi ishtirokisiz CI/CD quvurlarida sertifikatlarni sozlashni avtomatlashtiradi.
Matchsiz, har bir jamoa a'zosi Xcode yoki Apple Developer Portal orqali qo‘lda sertifikat yaratadi, bu esa turli mashinalarda yig‘ishda ziddiyatlarga olib keladi. Code Signing — bu iOS ilovasining raqamli imzolash jarayoni bo‘lib, u foydalanuvchi qurilmasiga o‘rnatishdan oldin uning muallifligi va yaxlitligini tasdiqlaydi.
Apple Developer Documentation (2025) ma'lumotlariga ko‘ra, sertifikatlarni noto‘g‘ri sozlash ilovani App Store ga yuborishda rad etilishining eng keng tarqalgan sabablaridan biridir. Match sertifikatlarning amal qilish muddatini avtomatik tekshiradi va muddati tugashi haqida ogohlantiradi, bu esa Apple tekshiruvi bosqichida yig‘ishning rad etilish xavfini kamaytiradi.
Match ni ikki yoki undan ortiq ishlab chiqaruvchisi bo‘lgan yoki CI/CD quvuriga ega har qanday loyihada ishlating — bu yangi jamoa a'zosi uchun muhitni sozlash vaqtini 30 daqiqadan terminaldagi bitta buyruqqa qisqartiradi.
Match arxitekturasi iOS jamoasining barcha sertifikatlari uchun yagona haqiqat manbai kontseptsiyasiga asoslangan. Har bir ishlab chiqaruvchining kalitlar bog‘lamida mahalliy saqlash o‘rniga, Match sertifikatlarni har bir faylni saqlashdan oldin shifrlash bilan bitta Git omborida birlashtiradi.
Jarayon uch bosqichdan iborat. Boshlash bosqichida Match Apple Developer Portal API si orqali barcha kerakli sertifikatlar va profillarni yaratadi. Har bir fayl foydalanuvchi parol iborasi asosida shakllantirilgan kalit bilan AES-256 algoritmi yordamida shifrlanadi. Shifrlangan fayllar Git omborida saqlanadi va standart Git push va pull operatsiyalari orqali masofaviy server bilan sinxronlanadi.
Match sertifikatlar va profillarni shifrlash uchun OpenSSL va foydalanuvchi parol iborasining kombinatsiyasidan foydalanadi. Kirish kaliti MATCH_PASSWORD muhit o‘zgaruvchisi orqali o‘rnatiladi va omborda saqlanmaydi, bu esa Git serveri buzilgan yoki omborga ochiq kirish mavjud bo‘lganda ham sizib chiqishni istisno qiladi.
Sertifikat so‘ralganda, Match ombordan shifrlangan faylni yuklaydi, uni parol iborasi yordamida mahalliy ravishda deshifrlaydi va joriy mashinaning Keychain iga o‘rnatadi. Yig‘ish tugagandan so‘ng, sertifikatlar korporativ muhitning xavfsizlik siyosatlariga rioya qilish uchun Keychain dan o‘chirilishi mumkin — bu keyingi yig‘ishlarda eskirgan sertifikatlardan foydalanishning oldini oladi.
Har bir sertifikat ilova identifikatori, profil turi va yaratilgan sanani o‘z ichiga olgan nom bilan saqlanadi. Ushbu tuzilma Match ga sertifikat versiyalarini boshqarish va kerak bo‘lganda standart Git revert va reset buyruqlari orqali oldingi holatga qaytarish imkonini beradi. Bu, ayniqsa, profil tasodifiy o‘chirilgan yoki qayta yozilganida foydalidir.
Match ni o‘rnatish Fastlane bilan birga Ruby paket menejeri orqali amalga oshiriladi: gem install fastlane. O‘rnatishdan so‘ng, fastlane match init buyrug‘i bilan sertifikat omborini boshlash kerak, bu bo‘sh Git omborini yaratadi va asosiy sozlamalar shabloni bilan Matchfile faylini yaratadi.
# Match omborini boshlash
fastlane match init
Matchfile fayli sertifikat omboriga ulanish uchun barcha parametrlarni o‘z ichiga oladi: Git ombori URL si, standart profil turi, ilova identifikatorlari va Apple Developer hisob ma'lumotlari. Besh ishlab chiqaruvchidan iborat jamoa uchun odatiy konfiguratsiya namunasi:
# 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")
type parametri profil turini belgilaydi: :development ishlab chiqaruvchi qurilmalarida nosozliklarni tuzatish uchun, :appstore App Store da nashr qilish uchun, :adhoc tashqi qurilmalarda sinovdan o‘tkazish uchun va :enterprise App Store dan tashqari korporativ In-House tarqatish uchun. Har bir tur omborda alohida katalog yaratadi, bu esa profillarni maqsadli yig‘ish stsenariylari bo‘yicha tartibga solish imkonini beradi.
Match Apple Developer Portal da bir necha autentifikatsiya usullarini qo‘llab-quvvatlaydi: Apple ID orqali ikki faktorli autentifikatsiya, App-Specific Password va App Store Connect API kalitlari. CI/CD uchun API kalitlaridan foydalanish tavsiya etiladi — ular interaktiv tasdiqlash kodini kiritishni talab qilmaydi va ishlab chiqaruvchi qurilmasi o‘zgarganda avtomatik yig‘ishlarni bloklamaydi.
Matchfile ni sozlashdan so‘ng, profillarni yaratish va sinxronlash uchun fastlane match development yoki fastlane match appstore buyrug‘i bajariladi. Match Apple Developer Portal API si orqali sertifikatlarni avtomatik yaratadi yoki yangilaydi va ularni omborga saqlaydi. Apple Developer Portal — bu Apple ning sertifikatlar, ilova identifikatorlari va ishlab chiqaruvchilarning ruxsat etilgan qurilmalar ro‘yxatini boshqarish uchun veb interfeysidir.
Birinchi ishga tushirishda Match omborni shifrlash uchun parol iborasini so‘raydi. Ushbu ibora CI/CD maxfiylik menejerida (GitHub Actions Secrets, GitLab CI Variables yoki Jenkins Credentials) saqlanishi va MATCH_PASSWORD muhit o‘zgaruvchisi orqali uzatilishi kerak. Busiz, Match boshqa mashinalarda yoki CI muhitida sertifikatlarni deshifrlay olmaydi.
Match interfeysi sertifikatlar va profillarni yaratish, yangilash, sinxronlash va o‘chirish uchun buyruqlar to‘plamidan iborat. Har bir buyruq Code Signing hayotiy siklidagi ma'lum bir harakatga mos keladi: yaratishdan omborni to‘liq tozalashgacha.
fastlane match development buyrug‘i mahalliy qurilmalarda nosozliklarni tuzatish uchun Development sertifikatlari va profillarini yuklaydi yoki yaratadi. Provisioning Profile — bu Apple ning raqamli hujjati bo‘lib, u ishlab chiqaruvchi sertifikatini ilova identifikatori va o‘rnatish uchun ruxsat etilgan qurilmalar ro‘yxati bilan bog‘laydi.
App Store da nashr qilish uchun fastlane match appstore ishlatiladi — u Distribution sertifikatlari va AppStore profillarini yaratadi. fastlane match adhoc buyrug‘i tashqi qurilmalarda sinovdan o‘tkazish uchun profillarni yaratadi, fastlane match enterprise esa korporativ In-House ilovalari uchun.
# Development profillarini nosozliklarni tuzatish uchun yaratish
fastlane match development
# AppStore profillarini nashr qilish uchun yaratish
fastlane match appstore
# Mavjud qo'lda yaratilgan sertifikatlarni import qilish
fastlane match import
fastlane match import buyrug‘i omboga mavjud sertifikatlarni qo‘shish imkonini beradi — qo‘lda boshqarishdan Match ga o‘tishda foydalidir. --readonly parametri ombordagi har qanday o‘zgarishlarni bloklaydi, bu CI muhiti uchun juda muhim, chunki quvur sertifikatlar va profillarni avtomatik yaratmasligi yoki o‘chirmasligi kerak.
| Match buyrug‘i | Vazifasi | Profil turi |
|---|---|---|
| match development | Qurilmalarda nosozliklarni tuzatish uchun Development profillarini yaratish | Development |
| match appstore | App Store da nashr qilish uchun profillarni yaratish | AppStore |
| match adhoc | Beta testerlar qurilmalarida tashqi sinov uchun profillar | AdHoc |
| match enterprise | In-House tarqatish uchun korporativ profillar | Enterprise |
| match import | Oldin yaratilgan sertifikatlarni omborga import qilish | Har qanday |
Omborni to‘liq tozalash uchun fastlane match nuke buyrug‘i ishlatiladi. U Git omboridan, Apple Developer Portal dan va mahalliy mashinadan barcha sertifikatlarni o‘chiradi — bu loyiha uchun Code Signing holatini to‘liq tiklashdir. Buyruq faqat jiddiy ziddiyatlarda yoki yangi Apple Developer hisobiga o‘tishda qo‘llaniladi.
CI/CD integratsiyasi Match ning asosiy afzalliklaridan biridir. GitHub Actions, GitLab CI, Bitrise yoki Jenkins quvurida Match ishlab chiqaruvchi ishtirokisiz to‘g‘ri sertifikatlarni avtomatik yuklaydi va o‘rnatadi. Bu commit dan tayyor IPA gacha iOS ilovasini to‘liq avtomatlashtirilgan yig‘ish va imzolashni amalga oshirish imkonini beradi.
GitHub Actions uchun odatiy konfiguratsiya Fastlane ni o‘rnatish, MATCH_PASSWORD o‘zgaruvchisini sozlash va Match ni --readonly bayrog‘i bilan ishga tushirishni o‘z ichiga oladi. GitHub Actions — bu GitHub ning CI/CD platformasi bo‘lib, ombordagi hodisalar asosida kodni yig‘ish, sinovdan o‘tkazish va nashr qilishni avtomatlashtiradi.
# Fastlane ni CI muhitida o'rnatish
gem install fastlane --no-document
# Match ni o'zgartirish huquqisiz read-only rejimida ishga tushirish
fastlane match development --readonly
Match ni CI da ishga tushirishdan oldin sertifikat omboriga kirishni sozlash kerak. Fastlane Matchfile dagi git_url parametri asosida omborni avtomatik klonlaydi. Ombor ga kirish SSH kaliti yoki personal access token orqali sozlanadi, ular CI tizimining maxfiyliklariga qo‘shiladi — bu sertifikatlarning ochiq kirish orqali buzilmasligini kafolatlaydi.
CI provayderingizning maxfiyliklarida MATCH_PASSWORD va FASTLANE_APPLE_API_KEY muhit o‘zgaruvchilarini sozlang. App Store Connect API kaliti Match ga ikki faktorli autentifikatsiyasiz Apple Developer Portal da autentifikatsiya qilish imkonini beradi, bu esa avtomatik yig‘ishlarda interaktiv so‘rovlarni istisno qiladi va quvurning bloklanishining oldini oladi.
Match ni to‘g‘ri sozlashda ham sertifikatlarning amal qilish muddati tugashi, profil ziddiyatlari yoki muhitni noto‘g‘ri sozlash bilan bog‘liq xatolar yuz berishi mumkin. Muammolarni diagnostika qilish Match buyruqlari jurnallarini tahlil qilish va sertifikatlar Git omborining dolzarbligini tekshirishga asoslanadi.
Eng keng tarqalgan xato — «You need to provide a password for Match» — MATCH_PASSWORD muhit o‘zgaruvchisi mashinada yoki CI muhitida o‘rnatilmaganida yuz beradi. Yechim: MATCH_PASSWORD ni tizim muhit o‘zgaruvchilariga qo‘shing yoki Match buyrug‘ini ishga tushirishda parolni --keychain_password parametri orqali uzating.
Chastota bo‘yicha ikkinchi muammo — AdHoc profiliga yangi qurilma qo‘shishda sertifikat ziddiyatlari. fastlane match adhoc --force buyrug‘i bilan hal qilinadi, u yangi qurilmalarni hisobga olgan holda profillarni qayta yaratadi. Apple Developer sertifikatlari bir yil amal qiladi, shundan so‘ng ulardan foydalangan holda yig‘ish App Store Connect tomonidan rad etiladi. Match muddat tugashidan 30 kun oldin ogohlantiradi.
«Multiple matches found for...» xatosi omborda bir sertifikatning bir nechta versiyalari mavjud bo‘lganda yuz beradi. Omborni to‘liq tozalash va Apple Developer Portal dan barcha sertifikatlarni o‘chirish uchun fastlane match nuke buyrug‘idan foydalaning. Tozalashdan so‘ng noldan yaratishni bajaring ‘bu dublikatsiz va ziddiyatli versiyalarsiz profillarning izchil holatini kafolatlaydi.
Tez-tez beriladigan savollar
Match Git ga saqlashdan oldin har bir sertifikat faylini shifrlash uchun OpenSSL ni AES-256-CBC algoritmi bilan ishlatadi. Shifrlash kaliti MATCH_PASSWORD parol iborasi asosida shakllantiriladi. Hatto omborga ochiq kirish mavjud bo‘lganda ham, sertifikatlar parolni bilmasdan turib foydalanib bo‘lmaydi.
Yo‘q, Match shifrlangan sertifikatlarni saqlash uchun Git omborini talab qiladi. Biroq, agar mashinalar o‘rtasida sinxronlash talab qilinmasa, ombor mahalliy bo‘lishi mumkin. Bunday holda, git_url parametrida masofaviy ombor URL si o‘rniga fayl tizimidagi katalogga mahalliy yo‘l ko‘rsatiladi.
Ziddiyatlar ikki ishlab chiqaruvchi bir vaqtning o‘zida turli sertifikatlarni yaratganda yuz beradi. Yechim — ombordagi va Apple Developer Portal dagi barcha sertifikatlarni to‘liq tozalash uchun fastlane match nuke buyrug‘idan foydalaning. Tozalashdan so‘ng bitta ishlab chiqaruvchi noldan yaratadi va Git orqali sinxronlaydi.
Match ishga tushirilganda muddati tugagan sertifikatlarni avtomatik aniqlaydi va ularni almashtirishni taklif qiladi. Majburiy yangilash uchun fastlane match [type] --force buyrug‘ini bajaring — buyruq mavjudlari hali amal qilsa ham, ko‘rsatilgan turdagi sertifikatlar va profillarni qayta yaratadi, bu ishlab chiqaruvchilar jamoasi o‘zgarganda foydalidir.
Qo‘lda boshqarish har bir mashina uchun Xcode yoki Developer Portal orqali sertifikatlarni alohida yaratishni talab qiladi. Match saqlashni markazlashtiradi, ma'lumotlarni shifrlaydi, ularni ishlab chiqaruvchilar va CI/CD o‘rtasida sinxronlaydi, shuningdek, inson ishtirokisiz barcha imzolarning amal qilish muddati va haqiqiyligini avtomatik tekshiradi.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.