Pilot (Fastlane) TestFlight में iOS ऐप बिल्ड प्रबंधित करने का एक उपकरण है: बाइनरी फ़ाइलें अपलोड करना, टेस्टर ग्रुप प्रबंधित करना और बिल्ड स्थितियों को ट्रैक करना। App Store Connect के माध्यम से मैन्युअल अपलोड के विपरीत, Pilot TestFlight API के साथ सभी संचालन को स्वचालित करता है। आधिकारिक Fastlane दस्तावेज़ीकरण (2026) के अनुसार, Pilot टीमों को बीटा रिलीज़ प्रकाशन समय को 10 मिनट से घटाकर कुछ सेकंड करने की अनुमति देता है।
मुख्य बिंदु
Pilot (Fastlane) TestFlight के साथ काम को स्वचालित करने के लिए Fastlane इकोसिस्टम का एक घटक है — मोबाइल ऐप्लिकेशन के बीटा परीक्षण के लिए Apple का प्लेटफ़ॉर्म। Pilot सभी नियमित संचालन संभालता है: बिल्ड अपलोड करना, परीक्षक जोड़ना, समूह प्रबंधित करना और बिल्ड स्थिति ट्रैक करना।
Pilot के बिना, बीटा वितरण प्रक्रिया इस प्रकार दिखती है: डेवलपर मैन्युअल रूप से App Store Connect खोलता है, ऐप चुनता है, Xcode Organizer के माध्यम से IPA अपलोड करता है, एक टेस्टर ग्रुप कॉन्फ़िगर करता है और निमंत्रण भेजता है। TestFlight ऐप स्टोर पर आधिकारिक रिलीज़ से पहले परीक्षकों को ऐप्लिकेशन के बीटा संस्करण वितरित करने की Apple की सेवा है।
App Store Connect Help (2025) के अनुसार, बाहरी परीक्षकों को पहले बिल्ड इंस्टॉलेशन से पहले Beta App Review प्रक्रिया से गुज़रना होगा — इसमें 1 से 48 घंटे लगते हैं। Pilot स्वचालित रूप से समीक्षा स्थिति को ट्रैक करता है और टीम को सूचित करता है जब बिल्ड बाहरी परीक्षक समूहों को वितरण के लिए तैयार होता है।
Pilot का उपयोग किसी भी प्रोजेक्ट में करें जिसमें परीक्षकों को नियमित रूप से बीटा बिल्ड वितरित करने की आवश्यकता हो — यह iOS CI/CD पाइपलाइनों के लिए एक मानक उपकरण है, जो एक पूर्वानुमानित वितरण प्रक्रिया सुनिश्चित करता है।
Pilot की कार्यक्षमता बीटा बिल्ड प्रबंधन के पूर्ण जीवनचक्र को कवर करती है: बाइनरी फ़ाइल अपलोड करने से लेकर परीक्षकों को नए संस्करण के बारे में सूचित करने तक। प्रत्येक कार्य को एक अलग कमांड के रूप में कार्यान्वित किया जाता है जिसमें पूर्वानुमानित व्यवहार और प्रत्येक चरण की विस्तृत लॉगिंग होती है।
fastlane pilot upload कमांड IPA फ़ाइल को App Store Connect में अपलोड करता है और TestFlight में एक नया बिल्ड बनाता है। Pilot स्वचालित रूप से बाइनरी फ़ाइल की वैधता, संस्करण अनुरूपता और ऐप पहचानकर्ता की जाँच करता है। App Store Connect Apple का प्लेटफ़ॉर्म है जो ऐप्लिकेशन प्रबंधित करने के लिए है, जिसमें बिल्ड अपलोड करना, मेटाडेटा, विश्लेषण और बिक्री रिपोर्ट शामिल हैं।
अपलोड के बाद, Pilot Apple द्वारा बाइनरी फ़ाइल प्रोसेस करने की प्रतीक्षा करता है — बिल्ड आकार के आधार पर प्रक्रिया में 5 से 30 मिनट लगते हैं। प्रतीक्षा करते समय, Pilot वर्तमान प्रोसेसिंग स्थिति के बारे में जानकारी के साथ एक प्रोग्रेस बार प्रदर्शित करता है: Processing, Validating, या Ready। सफल प्रोसेसिंग के बाद, बिल्ड टेस्टर ग्रुप को असाइन करने के लिए उपलब्ध हो जाता है।
Pilot आंतरिक और बाहरी दोनों टेस्टर ग्रुप प्रबंधित करने का समर्थन करता है। आंतरिक परीक्षक आपकी Apple Developer टीम के सदस्य हैं जो Beta App Review से गुज़रे बिना तुरंत बिल्ड तक पहुँच प्राप्त करते हैं। बाहरी परीक्षक ईमेल के माध्यम से आमंत्रित उपयोगकर्ता हैं, जिन्हें पहली स्थापना से पहले समीक्षा स्वीकृति की आवश्यकता होती है।
fastlane pilot add कमांड ईमेल या Apple ID द्वारा एक समूह में नए परीक्षक जोड़ता है। Pilot स्वचालित रूप से निमंत्रण भेजता है और जाँचता है कि परीक्षक ने निमंत्रण स्वीकार किया है या नहीं। बल्क जोड़ के लिए, आप --testers_file_path पैरामीटर का उपयोग करके एक फ़ाइल से ईमेल की सूची पास कर सकते हैं, जो सैकड़ों प्रतिभागियों के टेस्टर ग्रुप शुरू करते समय सुविधाजनक है।
# TestFlight में एक नया बिल्ड अपलोड करना
fastlane pilot upload --ipa "build/MyApp.ipa"
# एक समूह में परीक्षक जोड़ना
fastlane pilot add --email "tester@company.com" \
--groups "QA Team"
Pilot कॉन्फ़िगरेशन के लिए अलग कॉन्फ़िग फ़ाइल की आवश्यकता नहीं है — सेटिंग्स Appfile (सामान्य Fastlane फ़ाइल) या कमांड-लाइन तर्कों के माध्यम से पास की जाती हैं। मुख्य पैरामीटर में ऐप का apple_id, app_identifier, team_id और App Store Connect API तक पहुँचने के लिए क्रेडेंशियल शामिल हैं।
प्रमाणीकरण के लिए, Pilot App Store Connect API Key (अनुशंसित विधि) या Apple ID दो-कारक प्रमाणीकरण का उपयोग करता है। App Store Connect API Key एक एक्सेस कुंजी है जो App Store Connect में उत्पन्न होती है और इंटरैक्टिव रूप से पासवर्ड और पुष्टिकरण कोड दर्ज किए बिना API के साथ बातचीत करने की अनुमति देती है।
# Appfile — Fastlane सामान्य कॉन्फ़िगरेशन
app_identifier("com.company.app")
apple_id("developer@company.com")
team_id("TEAM123456")
# Pilot के लिए पर्यावरण चर
# APP_STORE_CONNECT_API_KEY_PATH=/path/to/key.p8
app_identifier पैरामीटर ऐप के Bundle Identifier को परिभाषित करता है, जो Xcode प्रोजेक्ट और App Store Connect में निर्दिष्ट पहचानकर्ता से मेल खाना चाहिए। apple_id पैरामीटर दो-कारक योजना में प्रमाणीकरण के लिए उपयोग किया जाता है, और team_id — विकास टीम चुनने के लिए यदि खाता कई Apple Developer टीमों से जुड़ा है।
Pilot के काम करने के लिए, आपको CI/CD वातावरण में App Store Connect API Key कॉन्फ़िगर करना होगा। कुंजी App Store Connect → Users and Access → Keys → Generate API Key में उत्पन्न होती है। .p8 फ़ाइल को CI सिस्टम सीक्रेट में सहेजें और APP_STORE_CONNECT_API_KEY_PATH पर्यावरण चर या Pilot कमांड में --api_key_path पैरामीटर के माध्यम से इसका पथ निर्दिष्ट करें।
Pilot कमांड का सेट सभी TestFlight परिदृश्यों को कवर करता है: बिल्ड अपलोड करना, परीक्षक प्रबंधित करना, स्थितियाँ देखना और मेटाडेटा ट्रैक करना। प्रत्येक कमांड CI/CD स्क्रिप्ट में आगे की प्रक्रिया के लिए संरचित JSON आउटपुट लौटाता है।
fastlane pilot builds कमांड संस्करण, प्रोसेसिंग स्थिति और अपलोड दिनांक के साथ सभी ऐप बिल्ड की सूची प्रदर्शित करता है। बिल्ड स्थिति निम्न में से एक हो सकती है: Processing — Apple बाइनरी फ़ाइल प्रोसेस कर रहा है, Ready — बिल्ड वितरण के लिए उपलब्ध है, Rejected — सत्यापन त्रुटियों के कारण बिल्ड अस्वीकार कर दिया गया।
# TestFlight में सभी बिल्ड की सूची देखना
fastlane pilot builds
# एक टेस्टर ग्रुप को बिल्ड असाइन करना
fastlane pilot distribute --build_number 42 \
--groups "QA Team" --notify
# एक विशिष्ट बिल्ड के बारे में जानकारी देखना
fastlane pilot build_info --build_number 42
fastlane pilot distribute कमांड निर्दिष्ट टेस्टर ग्रुप को बिल्ड असाइन करता है और सूचनाएँ भेजता है। --notify पैरामीटर एक नए उपलब्ध बिल्ड के बारे में परीक्षकों को ईमेल सूचनाएँ भेजने में सक्षम करता है — यह बीटा परीक्षकों को परीक्षण प्रक्रिया में शामिल करने और फीडबैक में तेजी लाने के लिए महत्वपूर्ण है।
बिल्ड मेटाडेटा प्रबंधित करने के लिए, --changelog पैरामीटर का उपयोग करें, जो नए संस्करण में परिवर्तनों का विवरण पाठ सेट करता है। यह पाठ TestFlight ऐप में परीक्षण निमंत्रण में परीक्षकों को दिखाया जाता है। प्रत्येक बिल्ड में मुख्य परिवर्तन, ठीक किए गए बग और नई सुविधाएँ निर्दिष्ट करने की अनुशंसा की जाती है।
| Pilot कमांड | उद्देश्य | मुख्य पैरामीटर |
|---|---|---|
| pilot upload | TestFlight में IPA अपलोड करें | --ipa, --skip_waiting |
| pilot distribute | समूहों को बिल्ड असाइन करें | --build_number, --groups |
| pilot add | परीक्षक जोड़ें | --email, --groups |
| pilot builds | सभी बिल्ड की सूची | --app_identifier |
| pilot build_info | बिल्ड जानकारी | --build_number |
CI/CD में Pilot iOS ऐप वितरण पाइपलाइन का अंतिम चरण है। Gym द्वारा IPA बनाने और परीक्षण पास करने के बाद, Pilot बिल्ड को TestFlight में अपलोड करता है और टेस्टर ग्रुप में वितरित करता है। यह QA टीमों को रिपॉजिटरी में कमिट के कुछ मिनटों के भीतर नया ऐप संस्करण प्राप्त करने की अनुमति देता है।
एक विशिष्ट iOS CI/CD पाइपलाइन में अनुक्रम शामिल है: Match (प्रमाणपत्र), Gym (IPA बिल्ड), Pilot (TestFlight में अपलोड और वितरण)। प्रत्येक चरण पिछले पर निर्भर करता है, यह सुनिश्चित करता है कि केवल वैध और हस्ताक्षरित बिल्ड ही परीक्षकों तक पहुँचाए जाएँ।
# Fastfile में पूर्ण पाइपलाइन
lane :beta do
match(type: :appstore)
gym(scheme: "MyApp", export_method: "app-store")
pilot("build/MyApp.ipa", groups: ["QA", "PM"])
end
अपलोड कमांड में skip_waiting पैरामीटर CI कार्य के भीतर Apple की बाइनरी फ़ाइल प्रोसेसिंग पूरी होने की प्रतीक्षा न करने की अनुमति देता है — Pilot अपलोड अनुरोध भेजता है, बिल्ड पहचानकर्ता प्राप्त करता है और समाप्त करता है। यह पाइपलाइन को गति देता है क्योंकि प्रोसेसिंग में 30 मिनट तक लग सकते हैं, जो CI रनर में प्रतीक्षा में खर्च नहीं होते।
CI में Pilot के सही ढंग से काम करने के लिए, आपको App Store Connect API कुंजी कॉन्फ़िगर करनी होगी। .p8 कुंजी फ़ाइल को CI सिस्टम के सुरक्षित स्टोरेज में सहेजें और APP_STORE_CONNECT_API_KEY_PATH पर्यावरण चर के माध्यम से पथ पास करें। Pilot इस कुंजी का उपयोग दो-कारक प्रमाणीकरण के बिना API में प्रमाणीकरण के लिए करता है, जो स्वचालित परिदृश्यों के लिए महत्वपूर्ण है।
Pilot का उपयोग करते समय, डेवलपर्स को अक्सर प्रमाणीकरण त्रुटियाँ, गलत ऐप कॉन्फ़िगरेशन और Apple की ओर से बाइनरी फ़ाइल प्रोसेसिंग के साथ समस्याएँ होती हैं। Pilot समस्या निदान pilot builds कमांड के माध्यम से App Store Connect में बिल्ड स्थिति की जाँच करने से शुरू होता है।
त्रुटि “Your app is not available for testing in TestFlight” तब होती है जब ऐप App Store Connect में परीक्षण के लिए कॉन्फ़िगर नहीं किया गया है। समाधान: App Store Connect में TestFlight अनुभाग खोलें, ऐप के लिए परीक्षण सक्रिय करें और सुनिश्चित करें कि Export Compliance आपके एन्क्रिप्शन प्रकार के लिए सही ढंग से भरा गया है।
त्रुटि “Missing iOS Distribution signing identity” Keychain में Distribution प्रमाणपत्र की अनुपस्थिति इंगित करती है। समाधान: Pilot को कॉल करने से पहले सही प्रमाणपत्र डाउनलोड करने के लिए Match चलाएँ। Distribution प्रमाणपत्र Development से भिन्न होता है — इसका उपयोग TestFlight या App Store के माध्यम से वितरण के लिए बनाए गए बिल्ड पर हस्ताक्षर करने के लिए किया जाता है।
“Invalid Provisioning Profile” त्रुटि के साथ, बिल्ड में चयनित निर्यात विधि के लिए गलत प्रोफ़ाइल होती है। समाधान: जाँचें कि Gym Match में प्रोफ़ाइल प्रकार से मेल खाने वाला सही export_method का उपयोग करता है। यदि बिल्ड development प्रोफ़ाइल के साथ बनाया गया था, तो Pilot इसे TestFlight में अपलोड नहीं कर पाएगा — app-store या ad-hoc प्रोफ़ाइल आवश्यक है।
अक्सर पूछे जाने वाले प्रश्न
Pilot दो प्रकारों का समर्थन करता है: आंतरिक परीक्षक (Internal Testers) — Apple Developer टीम के सदस्य जो तुरंत पहुँच प्राप्त करते हैं, और बाहरी परीक्षक (External Testers) — ईमेल के माध्यम से आमंत्रित उपयोगकर्ता जिन्हें स्थापना से पहले Beta App Review से गुज़रना होता है।
TestFlight को प्रत्येक अपलोड के लिए एक अद्वितीय बिल्ड संख्या की आवश्यकता होती है। Pilot स्वचालित रूप से डुप्लिकेट की जाँच करता है और उस संख्या वाले बिल्ड के अपलोड को अस्वीकार करता है जो पहले से App Store Connect में मौजूद है। नए अपलोड के लिए, बिल्ड करने से पहले Xcode प्रोजेक्ट में build number बढ़ाएँ।
नहीं, Pilot Fastlane का एक घटक है और अलग से स्थापित नहीं किया जाता है। हालाँकि, आप अन्य Fastlane उपकरणों के बिना केवल Pilot को कॉल कर सकते हैं। ऐसा करने के लिए, gem install fastlane के माध्यम से Fastlane स्थापित करें और match और gym को अनदेखा करते हुए केवल pilot कमांड का उपयोग करें।
बिल्ड संख्या निर्दिष्ट करके fastlane pilot reject कमांड का उपयोग करें। Pilot निर्दिष्ट बिल्ड तक परीक्षक की पहुँच अक्षम करता है लेकिन इसे App Store Connect से हटाता नहीं है। अस्वीकृत बिल्ड रिलीज़ ऑडिट के लिए Rejected स्थिति के साथ TestFlight इतिहास में रहता है।
pilot distribute कमांड में --notify पैरामीटर का उपयोग करें। Pilot निर्दिष्ट समूहों में सभी परीक्षकों को TestFlight के माध्यम से नया संस्करण स्थापित करने के लिंक के साथ ईमेल सूचनाएँ भेजता है। इस फ़्लैग के बिना, परीक्षक नया बिल्ड केवल TestFlight ऐप खोलने पर देखेंगे।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें