गाइड

अपना Mac न होने पर भी iOS ऐप App Store पर पब्लिश करें

अपना Mac न होने पर भी आप iOS ऐप पब्लिश कर सकते हैं। पर macOS के बिना नहीं कर सकते। ऐप बिल्ड और sign करने के लिए Xcode चाहिए। बाकी लगभग सब कुछ ब्राउज़र में या आपके iPhone पर होता है। किराए का Mac या CI रनर उस एक कदम को संभालता है जिसे macOS चाहिए।

अक्टूबर 2026 में Apple क्या माँगता है

  • पेड मेंबरशिप। Apple के enrollment पेज के अनुसार Apple Developer Program हर मेंबरशिप साल के लिए 99 USD का है। Nonprofit, स्कूल और सरकारी संस्थाएँ फ़ीस माफ़ी माँग सकती हैं।
  • नया Xcode। 28 अप्रैल 2026 से अपलोड Xcode 26 या उसके बाद के वर्ज़न और iOS 26 SDK से बिल्ड होने चाहिए। यह Apple के upcoming requirements पेज पर लिखा है।
  • नया macOS। Apple के Xcode system requirements के अनुसार Xcode 26.6 को macOS Tahoe 26.2 या उसके बाद का वर्ज़न चाहिए।

तो बिल्ड Mac पर ही होता है। सवाल बस इतना है कि Mac किसका है।

आप Windows या Linux से क्या कर सकते हैं

  • वेब पर या Apple Developer ऐप में प्रोग्राम में enroll करें।
  • App Store Connect में ऐप का रिकॉर्ड बनाएँ।
  • App Store Connect API key बनाएँ (कदम नीचे हैं)।
  • टेस्टर जोड़ें, स्टोर लिस्टिंग लिखें और रिव्यू के लिए सबमिट करें।
  • तैयार बिल्ड अपलोड करें। Apple का Transporter command-line टूल Windows 11 और Red Hat Enterprise Linux को सपोर्ट करता है। इन सिस्टम पर उसे वह AppStoreInfo.plist चाहिए, जो Xcode export के समय लिखता है। यानी अपलोड आपके PC पर चल सकता है, पर फ़ाइल फिर भी Mac से ही आती है।

पहले एक API key बनाएँ

API key से Mac पर चलने वाले टूल Apple से बात कर पाते हैं। कोई पासवर्ड या two-factor प्रॉम्प्ट नहीं चाहिए। team key के लिए Apple के कदम ये हैं:

  • App Store Connect में Users and Access खोलें, फिर Integrations।
  • App Store Connect API चुनें, फिर Team Keys टैब।
  • Generate API Key पर क्लिक करें, नाम दें, role चुनें, और generate करें।
  • .p8 फ़ाइल डाउनलोड करें। Apple इसे सिर्फ़ एक बार डाउनलोड करने देता है।

team keys बनाने के लिए Admin role चाहिए। उस पेज पर दिखने वाली Key ID और Issuer ID लिख लें। .p8 को अपनी रिपॉज़िटरी से बाहर रखें।

अपनी keychain के बिना signing

Signing के लिए distribution certificate और provisioning profile चाहिए। किराए के Mac पर इन्हें पाने के दो तरीके हैं।

Automatic signing। xcodebuild API key स्वीकार करता है। allowProvisioningUpdates फ़्लैग के साथ, उसका help टेक्स्ट कहता है कि वह automatically signed targets के लिए profiles, app IDs और certificates बनाएगा और अपडेट करेगा। Apple cloud-managed distribution certificates भी देता है। इन्हें Apple अपने पास रखता है, इसलिए किराए की मशीन पर कोई private key नहीं रहती।

Manual signing। किराए के Mac पर Keychain Access से certificate signing request बनाएँ। फिर Certificates, Identifiers and Profiles में Apple Distribution certificate और App Store profile बनाएँ। Mac लौटाने से पहले keychain मिटा दें।

क्लाउड Mac से बिल्ड और अपलोड

ऐप को archive करें। नाम, key ID और issuer ID की जगह अपने डालें।

xcodebuild -workspace MyApp.xcworkspace -scheme MyApp \
  -configuration Release -destination 'generic/platform=iOS' \
  -archivePath build/MyApp.xcarchive archive \
  -allowProvisioningUpdates \
  -authenticationKeyPath ~/private_keys/AuthKey_ABC123DEF4.p8 \
  -authenticationKeyID ABC123DEF4 \
  -authenticationKeyIssuerID YOUR-ISSUER-ID

फिर उसे export करें। destination को upload पर रखने से export बिल्ड को सीधे App Store Connect भेज देता है। method का नाम app-store-connect है, जिसने पुरानी app-store वैल्यू की जगह ली है।

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>method</key><string>app-store-connect</string>
  <key>destination</key><string>upload</string>
  <key>signingStyle</key><string>automatic</string>
  <key>teamID</key><string>YOURTEAMID</string>
</dict>
</plist>
xcodebuild -exportArchive -archivePath build/MyApp.xcarchive \
  -exportOptionsPlist ExportOptions.plist -exportPath build/export \
  -allowProvisioningUpdates \
  -authenticationKeyPath ~/private_keys/AuthKey_ABC123DEF4.p8 \
  -authenticationKeyID ABC123DEF4 \
  -authenticationKeyIssuerID YOUR-ISSUER-ID

अपलोड का अलग कदम चाहिए? destination को export पर रखें, फिर altool इस्तेमाल करें। वह ~/private_keys में key फ़ाइल को उसकी ID से ढूँढ लेता है।

xcrun altool --upload-package build/export/MyApp.ipa \
  --api-key ABC123DEF4 --api-issuer YOUR-ISSUER-ID

fastlane इस्तेमाल करने वाले उसके डॉक्स के दो actions से यही कर सकते हैं: app_store_connect_api_key key लोड करता है, और pilot TestFlight पर अपलोड करता है।

ऊपर का हर फ़्लैग हमने Xcode 26.6 में xcodebuild और altool के help आउटपुट से मिलाया है। इन्हीं लाइनों से हमने signed अपलोड नहीं चलाया है। बारीकियाँ आपके प्रोजेक्ट का signing सेटअप तय करता है।

Version और build नंबर

Apple हर अपलोड को bundle ID और version नंबर से आपके ऐप से मिलाता है। build string हर बिल्ड की पहचान है, इसलिए वह अनोखी होनी चाहिए। हर अपलोड के लिए build नंबर बढ़ाएँ। CI में run नंबर इसका आसान स्रोत है। version नंबर को उस चीज़ के लिए रखें जो यूज़र स्टोर में देखते हैं।

आपके iPhone पर TestFlight

Apple हर अपलोड को प्रोसेस करता है और तैयार होने पर आपको ईमेल करता है। फिर बाकी काम App Store Connect में और फ़ोन पर होता है। Apple के TestFlight overview के अनुसार:

  • आपकी App Store Connect टीम से 100 तक internal टेस्टर।
  • ईमेल या पब्लिक लिंक से 10,000 तक external टेस्टर।
  • external टेस्टर के लिए पहला बिल्ड App Review में जाता है।
  • हर बिल्ड को 90 दिन तक टेस्ट किया जा सकता है।

टेस्टर मुफ़्त TestFlight ऐप इंस्टॉल करके न्योता स्वीकार करते हैं। इसमें से किसी के लिए Mac नहीं चाहिए। स्टोर के स्क्रीनशॉट किराए के Mac पर Simulator में आसानी से लिए जा सकते हैं।

इसके लिए किसे Mac किराए पर नहीं लेना चाहिए

Expo पर EAS Build और EAS Submit, Expo के क्लाउड में बिल्ड और अपलोड करते हैं। अगर आप साल में दो बार शिप करते हैं, तो होस्टेड CI रनर का खर्च हर बिल्ड पर कुछ सेंट है। उस सेटअप के लिए GitHub Actions के साथ iOS CI/CD पढ़ें। MacRun managed code signing नहीं देता। आपके certificates और keys आपके अपने हैं।

किराए का Mac तब ठीक है, जब आप अक्सर शिप करते हैं। यह तब भी ठीक है, जब signing को हाथ से ठीक करने के लिए आपको Xcode की स्क्रीन चाहिए। हमारे M6 प्लान प्राइसिंग पेज पर हैं।

अक्सर पूछे जाने वाले सवाल

क्या Mac के बिना iOS ऐप पब्लिश किया जा सकता है?

+

हाँ, अगर कहीं न कहीं macOS तक आपकी पहुँच हो। बिल्ड और signing के लिए Mac पर Xcode चाहिए, और वह किराए का या क्लाउड Mac हो सकता है। Enrollment, App Store Connect, TestFlight और रिव्यू, सब ब्राउज़र या iPhone से हो जाते हैं।

क्या मैं Windows से App Store Connect पर .ipa अपलोड कर सकता हूँ?

+

Apple का Transporter command-line टूल Windows 11 और Red Hat Enterprise Linux को सपोर्ट करता है। इन सिस्टम पर उसे वह AppStoreInfo.plist चाहिए, जो Xcode बिल्ड के साथ export करता है। इसलिए .ipa फिर भी Mac पर ही बिल्ड करनी होगी।

2026 में अपलोड करने के लिए कौन सा Xcode चाहिए?

+

28 अप्रैल 2026 से Apple की शर्त है कि App Store Connect पर अपलोड होने वाले ऐप Xcode 26 या उसके बाद के वर्ज़न से, iOS 26 SDK के साथ बिल्ड हों। Xcode 26.6, macOS Tahoe 26.2 या उसके बाद के वर्ज़न पर चलता है।

App Store पर पब्लिश करने में कितना खर्च आता है?

+

Apple Developer Program हर मेंबरशिप साल के लिए 99 USD का है। योग्य nonprofit, स्कूल और सरकारी संस्थाओं के लिए फ़ीस माफ़ी है। बिल्ड के लिए Mac का समय अलग है। यह होस्टेड CI पर हर बिल्ड के कुछ सेंट से लेकर मासिक किराए तक हो सकता है।

संबंधित गाइड