Match (Fastlane) iOS के Code Signing प्रमाणपत्रों और Provisioning Profiles के प्रबंधन के लिए एक टूल है, जो उन्हें एक एन्क्रिप्टेड Git रिपॉज़िटरी में संग्रहीत करता है। Apple Developer Portal के माध्यम से मैन्युअल प्रबंधन के विपरीत, Match सभी डेवलपर्स और CI/CD सिस्टम में हस्ताक्षरों के सिंक्रनाइज़ेशन को स्वचालित करता है। आधिकारिक Fastlane दस्तावेज़ीकरण (2026) के अनुसार, Match iOS ऐप्लिकेशन बनाते समय गलत प्रमाणपत्रों से संबंधित 90% तक त्रुटियों को समाप्त करता है।
मुख्य बातें
Match (Fastlane) Fastlane इकोसिस्टम का एक घटक है जो iOS डेवलपमेंट के लिए Code Signing प्रमाणपत्रों और Provisioning Profiles के केंद्रीकृत प्रबंधन के लिए डिज़ाइन किया गया है। यह टीम के सदस्यों के बीच हस्ताक्षरों के सिंक्रनाइज़ेशन की समस्या को हल करता है और डेवलपर हस्तक्षेप के बिना CI/CD पाइपलाइनों में प्रमाणपत्र सेटअप को स्वचालित करता है।
Match के बिना, प्रत्येक टीम सदस्य Xcode या Apple Developer Portal के माध्यम से मैन्युअल रूप से प्रमाणपत्र उत्पन्न करता है, जिससे विभिन्न मशीनों पर बिल्ड विरोध होता है। Code Signing एक iOS ऐप्लिकेशन पर डिजिटल हस्ताक्षर करने की प्रक्रिया है, जो उपयोगकर्ता के डिवाइस पर इंस्टॉलेशन से पहले इसके लेखकत्व और अखंडता की पुष्टि करती है।
Apple Developer दस्तावेज़ीकरण (2025) के अनुसार, गलत प्रमाणपत्र कॉन्फ़िगरेशन App Store में ऐप सबमिट करते समय अस्वीकृति के सबसे सामान्य कारणों में से एक है। Match स्वचालित रूप से प्रमाणपत्रों की वैधता की जाँच करता है और समाप्त होने वाले प्रमाणपत्रों के बारे में चेतावनी देता है, जिससे Apple सत्यापन चरण के दौरान बिल्ड अस्वीकृति का जोखिम कम होता है।
Match का उपयोग दो या अधिक डेवलपर्स वाले किसी भी प्रोजेक्ट में या CI/CD पाइपलाइन होने पर करें — यह नए टीम सदस्य के वातावरण को सेट करने के समय को 30 मिनट से घटाकर एक टर्मिनल कमांड कर देता है।
Match आर्किटेक्चर सभी iOS टीम प्रमाणपत्रों के लिए एकल सत्य स्रोत की अवधारणा पर बनाया गया है। प्रत्येक डेवलपर की कुंजी श्रृंखला में स्थानीय भंडारण के बजाय, Match प्रत्येक फ़ाइल को संग्रहीत करने से पहले एन्क्रिप्शन के साथ एक एकल Git रिपॉज़िटरी में प्रमाणपत्रों को समेकित करता है।
प्रक्रिया तीन चरणों से मिलकर बनी है। आरंभीकरण चरण के दौरान, Match Apple Developer Portal API के माध्यम से सभी आवश्यक प्रमाणपत्र और प्रोफ़ाइल उत्पन्न करता है। प्रत्येक फ़ाइल को उपयोगकर्ता-परिभाषित पासफ़्रेज़ से बनी कुंजी के साथ AES-256 एल्गोरिदम का उपयोग करके एन्क्रिप्ट किया जाता है। एन्क्रिप्टेड फ़ाइलें Git रिपॉज़िटरी में सहेजी जाती हैं और मानक Git push और pull संचालन के माध्यम से रिमोट सर्वर के साथ सिंक्रनाइज़ की जाती हैं।
Match प्रमाणपत्रों और प्रोफ़ाइलों को एन्क्रिप्ट करने के लिए OpenSSL और उपयोगकर्ता-परिभाषित पासफ़्रेज़ के संयोजन का उपयोग करता है। एक्सेस कुंजी MATCH_PASSWORD पर्यावरण चर के माध्यम से सेट की जाती है और रिपॉज़िटरी में संग्रहीत नहीं की जाती है, जो Git सर्वर से समझौता होने या रिपॉज़िटरी सार्वजनिक रूप से सुलभ होने पर भी लीक को रोकता है।
प्रमाणपत्र का अनुरोध करते समय, Match रिपॉज़िटरी से एन्क्रिप्टेड फ़ाइल डाउनलोड करता है, इसे पासफ़्रेज़ का उपयोग करके स्थानीय रूप से डिक्रिप्ट करता है, और इसे वर्तमान मशीन की कुंजी श्रृंखला में स्थापित करता है। बिल्ड पूरा होने के बाद, कॉर्पोरेट वातावरण की सुरक्षा नीतियों का पालन करने के लिए प्रमाणपत्रों को कुंजी श्रृंखला से हटाया जा सकता है — यह बाद के बिल्ड में पुराने प्रमाणपत्रों के उपयोग को रोकता है।
प्रत्येक प्रमाणपत्र एप्लिकेशन पहचानकर्ता, प्रोफ़ाइल प्रकार और निर्माण तिथि वाले नाम से सहेजा जाता है। यह संरचना Match को प्रमाणपत्र संस्करणों का प्रबंधन करने और यदि आवश्यक हो, तो मानक Git revert और reset कमांड का उपयोग करके परिवर्तनों को पिछली स्थिति में वापस लाने की अनुमति देती है। यह विशेष रूप से तब उपयोगी होता है जब कोई प्रोफ़ाइल गलती से हटा दी जाती है या अधिलेखित हो जाती है।
Match Ruby पैकेज मैनेजर के माध्यम से Fastlane के साथ स्थापित किया जाता है: gem install fastlane. इंस्टॉलेशन के बाद, fastlane match init कमांड से प्रमाणपत्र भंडारण को आरंभ करें, जो एक खाली Git रिपॉज़िटरी बनाता है और एक बुनियादी कॉन्फ़िगरेशन टेम्पलेट के साथ Matchfile उत्पन्न करता है।
# Match रिपॉज़िटरी को आरंभ करें
fastlane match init
Matchfile फ़ाइल में प्रमाणपत्र भंडारण के सभी कनेक्शन पैरामीटर होते हैं: Git रिपॉज़िटरी URL, डिफ़ॉल्ट प्रोफ़ाइल प्रकार, एप्लिकेशन पहचानकर्ता और Apple Developer क्रेडेंशियल। पाँच डेवलपर्स की टीम के लिए एक विशिष्ट कॉन्फ़िगरेशन का उदाहरण:
# Matchfile कॉन्फ़िगरेशन
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 पैरामीटर प्रोफ़ाइल प्रकार को परिभाषित करता है: :development डेवलपर डिवाइसों पर डिबगिंग के लिए, :appstore App Store में प्रकाशन के लिए, :adhoc बाहरी डिवाइसों पर परीक्षण के लिए, और :enterprise App Store के बाहर कॉर्पोरेट In-House वितरण के लिए। प्रत्येक प्रकार रिपॉज़िटरी में एक अलग निर्देशिका बनाता है, जिससे प्रोफ़ाइलों को लक्ष्य बिल्ड परिदृश्यों द्वारा व्यवस्थित किया जा सकता है।
Match Apple Developer Portal के लिए कई प्रमाणीकरण विधियों का समर्थन करता है: Apple ID के माध्यम से दो-कारक प्रमाणीकरण, ऐप-विशिष्ट पासवर्ड और App Store Connect API कुंजियाँ। CI/CD के लिए, API कुंजियाँ अनुशंसित हैं — उन्हें इंटरैक्टिव पुष्टिकरण कोड इनपुट की आवश्यकता नहीं होती है और डेवलपर के डिवाइस बदलने पर स्वचालित बिल्ड को ब्लॉक नहीं करती हैं।
Matchfile कॉन्फ़िगर करने के बाद, प्रोफ़ाइल उत्पन्न करने और सिंक्रनाइज़ करने के लिए fastlane match development या fastlane match appstore कमांड चलाएँ। Match स्वचालित रूप से Apple Developer Portal API के माध्यम से प्रमाणपत्र बनाता या अपडेट करता है और उन्हें रिपॉज़िटरी में सहेजता है। Apple Developer Portal प्रमाणपत्रों, एप्लिकेशन पहचानकर्ताओं और अनुमोदित डेवलपर डिवाइसों की सूचियों के प्रबंधन के लिए Apple का वेब इंटरफ़ेस है।
पहली बार चलाने पर, Match रिपॉज़िटरी को एन्क्रिप्ट करने के लिए एक पासफ़्रेज़ माँगेगा। यह पासफ़्रेज़ CI/CD सीक्रेट मैनेजर (GitHub Actions Secrets, GitLab CI Variables या Jenkins Credentials) में संग्रहीत किया जाना चाहिए और MATCH_PASSWORD पर्यावरण चर के माध्यम से पारित किया जाना चाहिए। इसके बिना, Match अन्य मशीनों या CI वातावरण में प्रमाणपत्रों को डिक्रिप्ट नहीं कर सकता।
Match इंटरफ़ेस में प्रमाणपत्र और प्रोफ़ाइल बनाने, अपडेट करने, सिंक्रनाइज़ करने और हटाने के लिए कमांड का एक सेट शामिल है। प्रत्येक कमांड Code Signing जीवनचक्र में एक विशिष्ट क्रिया से मेल खाता है: जनरेशन से लेकर पूर्ण रिपॉज़िटरी सफाई तक।
fastlane match development कमांड स्थानीय डिवाइसों पर डिबगिंग के लिए डेवलपमेंट प्रमाणपत्र और प्रोफ़ाइल डाउनलोड या बनाता है। Provisioning Profile Apple का एक डिजिटल दस्तावेज़ है जो डेवलपर प्रमाणपत्र को एप्लिकेशन पहचानकर्ता और इंस्टॉलेशन के लिए अधिकृत डिवाइसों की सूची से जोड़ता है।
App Store में प्रकाशन के लिए, fastlane match appstore का उपयोग करें — यह वितरण प्रमाणपत्र और AppStore प्रोफ़ाइल उत्पन्न करता है। fastlane match adhoc कमांड बाहरी डिवाइसों पर परीक्षण के लिए प्रोफ़ाइल बनाता है, और fastlane match enterprise कॉर्पोरेट In-House एप्लिकेशन के लिए।
# डिबगिंग के लिए Development प्रोफ़ाइल बनाना
fastlane match development
# रिलीज़ के लिए AppStore प्रोफ़ाइल बनाना
fastlane match appstore
# मैन्युअल रूप से बनाए गए मौजूदा प्रमाणपत्र आयात करना
fastlane match import
fastlane match import कमांड आपको रिपॉज़िटरी में मौजूदा प्रमाणपत्र जोड़ने की अनुमति देता है — मैन्युअल प्रबंधन से Match पर स्थानांतरित करते समय उपयोगी। --readonly पैरामीटर रिपॉज़िटरी में किसी भी बदलाव को अवरुद्ध करता है, जो CI वातावरण के लिए महत्वपूर्ण है जहाँ पाइपलाइन को स्वचालित रूप से प्रमाणपत्र और प्रोफ़ाइल नहीं बनाने या हटाने चाहिए।
| Match कमांड | उद्देश्य | प्रोफ़ाइल प्रकार |
|---|---|---|
| match development | डिवाइसों पर डिबगिंग के लिए डेवलपमेंट प्रोफ़ाइल बनाएँ | Development |
| match appstore | App Store में प्रकाशन के लिए प्रोफ़ाइल बनाएँ | AppStore |
| match adhoc | बीटा परीक्षकों के डिवाइसों पर बाहरी परीक्षण के लिए प्रोफ़ाइल | AdHoc |
| match enterprise | In-House वितरण के लिए कॉर्पोरेट प्रोफ़ाइल | Enterprise |
| match import | पहले बनाए गए प्रमाणपत्रों को रिपॉज़िटरी में आयात करें | कोई भी |
पूर्ण रिपॉज़िटरी सफाई के लिए, fastlane match nuke कमांड का उपयोग करें। यह Git स्टोरेज, Apple Developer Portal और स्थानीय मशीन से सभी प्रमाणपत्र हटाता है — प्रोजेक्ट के लिए Code Signing स्थिति का पूर्ण रीसेट। कमांड का उपयोग केवल गंभीर विरोधों में या नए Apple Developer खाते में स्थानांतरित करते समय किया जाता है।
Match का CI/CD एकीकरण टूल के प्रमुख लाभों में से एक है। GitHub Actions, GitLab CI, Bitrise या Jenkins पाइपलाइनों में, Match डेवलपर की भागीदारी के बिना स्वचालित रूप से सही प्रमाणपत्र डाउनलोड और स्थापित करता है। यह कमिट से तैयार IPA तक iOS एप्लिकेशन के पूरी तरह से स्वचालित बिल्ड और हस्ताक्षर को सक्षम बनाता है।
एक विशिष्ट GitHub Actions कॉन्फ़िगरेशन में Fastlane स्थापित करना, MATCH_PASSWORD वेरिएबल सेट करना और --readonly फ़्लैग के साथ Match चलाना शामिल है। GitHub Actions GitHub का CI/CD प्लेटफ़ॉर्म है जो रिपॉज़िटरी ईवेंट के आधार पर कोड के बिल्ड, परीक्षण और प्रकाशन को स्वचालित करता है।
# CI वातावरण में Fastlane स्थापित करना
gem install fastlane --no-document
# संशोधन अधिकारों के बिना केवल-पढ़ने के मोड में Match चलाना
fastlane match development --readonly
CI में Match चलाने से पहले, प्रमाणपत्र रिपॉज़िटरी तक पहुँच कॉन्फ़िगर करें। Fastlane इसे Matchfile से git_url पैरामीटर के आधार पर स्वचालित रूप से क्लोन करता है। रिपॉज़िटरी एक्सेस SSH कुंजी या व्यक्तिगत एक्सेस टोकन के माध्यम से कॉन्फ़िगर की जाती है, जिसे CI सिस्टम के सीक्रेट में जोड़ा जाता है — यह सुनिश्चित करता है कि प्रमाणपत्र सार्वजनिक पहुँच के माध्यम से समझौता न हों।
अपने CI प्रदाता के सीक्रेट में MATCH_PASSWORD और FASTLANE_APPLE_API_KEY पर्यावरण चर सेट करें। App Store Connect API कुंजी Match को दो-कारक प्रमाणीकरण के बिना Apple Developer Portal में प्रमाणित करने की अनुमति देती है, जो स्वचालित बिल्ड में इंटरैक्टिव संकेतों को समाप्त करती है और पाइपलाइन अवरोधन को रोकती है।
सही Match कॉन्फ़िगरेशन के साथ भी, समाप्त प्रमाणपत्रों, प्रोफ़ाइल विरोधों या गलत वातावरण सेटअप से संबंधित त्रुटियाँ हो सकती हैं। Match समस्या निदान कमांड लॉग का विश्लेषण करने और प्रमाणपत्र प्रासंगिकता के लिए Git रिपॉज़िटरी स्थिति की जाँच करने पर आधारित है।
सबसे आम त्रुटि — «You need to provide a password for Match» — तब होती है जब MATCH_PASSWORD पर्यावरण चर मशीन या CI वातावरण पर सेट नहीं होता है। समाधान: MATCH_PASSWORD को सिस्टम पर्यावरण चर में जोड़ें या Match कमांड चलाते समय --keychain_password पैरामीटर के माध्यम से पासवर्ड पास करें।
दूसरी सबसे आम समस्या AdHoc प्रोफ़ाइल में नया डिवाइस जोड़ने पर प्रमाणपत्र विरोध है। इसे fastlane match adhoc --force कमांड से हल किया जाता है, जो नए डिवाइसों को ध्यान में रखते हुए प्रोफ़ाइलों को पुनः बनाता है। Apple Developer प्रमाणपत्र एक वर्ष के लिए वैध होते हैं, जिसके बाद उनका उपयोग करने वाले बिल्ड App Store Connect द्वारा अस्वीकार कर दिए जाते हैं। Match वैधता अवधि समाप्त होने से 30 दिन पहले समाप्ति के बारे में चेतावनी देता है।
जब «Multiple matches found for...» त्रुटि होती है, तो रिपॉज़िटरी में एक ही प्रमाणपत्र के कई संस्करण मौजूद होते हैं। रिपॉज़िटरी को पूरी तरह से साफ करने और Apple Developer Portal से सभी प्रमाणपत्र हटाने के लिए fastlane match nuke कमांड का उपयोग करें। सफाई के बाद, नए सिरे से जनरेशन करें — यह डुप्लिकेट या विरोधी संस्करणों के बिना एक सुसंगत प्रोफ़ाइल स्थिति सुनिश्चित करता है।
अक्सर पूछे जाने वाले प्रश्न
Match Git में सहेजने से पहले प्रत्येक प्रमाणपत्र फ़ाइल को एन्क्रिप्ट करने के लिए AES-256-CBC एल्गोरिदम के साथ OpenSSL का उपयोग करता है। एन्क्रिप्शन कुंजी MATCH_PASSWORD पासफ़्रेज़ के आधार पर बनाई जाती है। सार्वजनिक रिपॉज़िटरी एक्सेस के साथ भी, पासवर्ड के ज्ञान के बिना प्रमाणपत्र दुर्गम रहते हैं।
नहीं, Match को एन्क्रिप्टेड प्रमाणपत्रों को संग्रहीत करने के लिए Git रिपॉज़िटरी की आवश्यकता होती है। हालाँकि, यदि मशीनों के बीच सिंक्रनाइज़ेशन की आवश्यकता नहीं है तो रिपॉज़िटरी स्थानीय हो सकती है। इस मामले में, git_url पैरामीटर रिमोट रिपॉज़िटरी URL के बजाय फ़ाइल सिस्टम पर एक निर्देशिका के लिए एक स्थानीय पथ निर्दिष्ट करता है।
विरोध तब होते हैं जब दो डेवलपर एक साथ अलग-अलग प्रमाणपत्र उत्पन्न करते हैं। समाधान रिपॉज़िटरी और Apple Developer Portal में सभी प्रमाणपत्रों को पूरी तरह से साफ करने के लिए fastlane match nuke कमांड का उपयोग करना है। सफाई के बाद, एक डेवलपर नए सिरे से जनरेशन करता है और Git के माध्यम से सिंक्रनाइज़ करता है।
Match स्टार्टअप पर स्वचालित रूप से समाप्त प्रमाणपत्रों का पता लगाता है और उन्हें बदलने की पेशकश करता है। जबरन नवीनीकरण के लिए, fastlane match [type] --force चलाएँ — कमांड निर्दिष्ट प्रकार के प्रमाणपत्र और प्रोफ़ाइल को पुनः बनाता है, भले ही मौजूदा अभी भी वैध हों, जो डेवलपर टीम बदलने पर उपयोगी है।
मैन्युअल प्रबंधन के लिए प्रत्येक मशीन के लिए अलग-अलग Xcode या Developer Portal के माध्यम से प्रमाणपत्र उत्पन्न करने की आवश्यकता होती है। Match भंडारण को केंद्रीकृत करता है, डेटा को एन्क्रिप्ट करता है, इसे डेवलपर्स और CI/CD के बीच सिंक्रनाइज़ करता है, और मानव हस्तक्षेप के बिना सभी हस्ताक्षरों की वैधता और समाप्ति की स्वचालित रूप से जाँच करता है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें