Gym (Fastlane) ایک کمانڈ لائن کے ذریعے iOS ایپلیکیشنز کو IPA فارمیٹ میں بلڈ اور سائن کرنے کا ایک ٹول ہے۔ Xcode کے برخلاف، جو سکیما اور پروفائل کے دستی انتخاب کا مطالبہ ہے، Gym ایپ کے ایکسپورٹ اور پیکیجنگ کے پورے عمل کو آٹومیٹ کرتا ہے۔ Fastlane کی سرکاری دستاویزات (2026) کے مطابق، Gym xcodebuild پیرامیٹرز کی بہترینی اور وسائل کی متوازی پروسیسنگ کے ذریعے بلڈ کا وقت 30% تک کم کرتا ہے۔
اہم نکات
Gym (Fastlane) Fastlane ایکوسسٹم کا ایک جز ہے جو ایک ہی ٹرمینل کمانڈ کے ذریعے iOS ایپلیکیشنز کو IPA فارمیٹ میں بلڈ کرتا ہے۔ یہ درجنوں فلیگ کے ساتھ xcodebuild کو کال کرنے کے پیچیدہ عمل کو تجرید کرتا ہے اور ڈیویلپر کو مناسب ڈیفالٹ ویلیوز کے ساتھ ایک سادہ انٹرفیس فراہم کرتا ہے۔
Xcode میں IPA بلڈ کرنے کے لیے پروجیکٹ کھولنا، سکیما چننا، Archive اور Export ترتیب دینا، تقسیم کا طریقہ متعین کرنا اور مکمل ہونے کا انتظار کرنا ضروری ہے۔ Gym کے ذریعے بلڈ آٹومیشن دستی مراحل کو ختم کرتی ہے اور اس بات کی ضمانت دیتی ہے کہ ہر بلڈ ایک جیسے پیرامیٹرز کے ساتھ کیا جائے — یہ CI/CD پائپ لائن کی پیش نمائی کے لیے بہت اہم ہے۔
SwiftLee (2024) کے مطابق، Gym کو بلڈنگ کے لیے استعمال کرنے والی ٹیمیں Xcode Organizer کے ذریعے دستی ایکسپورٹ کے مقابلے ریلیز عمل کی ترتیب میں 40% کم وقت صرف کرتی ہیں۔ Gym xcodebuild کے ہر مرحلے کے ساتھ مفصل بلڈ لاگز بھی تیار کرتا ہے، جو ناکام بلڈز کی ڈیبگنگ اور کمپائل خامیوں کے تجزیے کو آسان بناتا ہے۔
Gym کو کسی بھی iOS پروجیکٹ میں استعمال کریں جسے ٹیسٹنگ یا پبلشنگ کے لیے باقاعدہ IPA بلڈنگ کی ضرورت ہو — ٹیم کی تمام مشینوں پر یکساں بلڈ ترتیب کی ضمانت کا یہ واحد ذریعہ ہے۔
Gym کے ذریعے IPA بلڈنگ تین مسلسل مراحل پر مشتمل ہے: xcodebuild کے ذریعے پروجیکٹ کا آرکائیو، آرکائیو کا بائنری پیکیج میں ایکسپورٹ اور دستخط کے ساتھ IPA فارمیٹ میں پیکیجنگ۔ Gym خودکار پروجیکٹ کی قسم (واحد target یا workspace) کا تعین کرتا ہے اور صحیح بلڈ طریقہ منتخب کرتا ہے۔
آرکائیو کے مرحلے پر، Gym پروجیکٹ میں متعین سکیما اور ترتیب کے پیرامیٹرز کے ساتھ xcodebuild archive چلاتا ہے۔ .xcarchive آرکائیو کے کامیاب طریقے سے بننے کے بعد، Gym چہدے گئے ایکسپورٹ طریقے کے ساتھ xcodebuild -exportArchive چلاتا ہے۔ IPA ایکسپورٹ .xcarchive آرکائیو کو تمام ضروری وسائل اور دستخطوں کے ساتھ .ipa انسٹیلیشن فائل میں تبدیل کرنے کا عمل ہے۔
ایکسپورٹ کا طریقہ IPA پر دستخط کرنے کے لیے استعمال ہونے والے Provisioning Profile کی قسم کا تعین کرتا ہے۔ Gym چار طریقے سپورٹ کرتا ہے: ڈیویلپرز کے آلات پر ڈیبگنگ کے لیے development، App Store پر اشاعت کے لیے app-store، محدود تعداد کے آلات پر بیٹا ٹیسٹنگ کے لیے ad-hoc اور کارپوریٹ تقسیم کے لیے enterprise۔
اضافی پیرامیٹرز میں عین ایکسپورٹ ترتیب کے لیے export_options_plist، IPA کا حجم کم کرنے کے لیے Swift overlay کا خاتمہ اور بٹ کوڈ کا انتظام شامل ہے۔ Gym مکمل ایکسپورٹ کے بغیر کوڈ کی تیز تصدیق کے لیے مفید --skip_package_ipa فلیگ کے ذریعے سیمیولیٹر کے لیے بلڈنگ کی بھی حمایت کرتا ہے۔
# Gym کے ذریعے بنیادی IPA بلڈ
fastlane gym --workspace "MyApp.xcworkspace" --scheme "MyApp"
# ایکسپورٹ طریقہ بتا کر بلڈ
fastlane gym --export_method app-store
# IPA ایکسپورٹ کے بغیر صرف آرکائیو بلڈ
fastlane gym --skip_package_ipa
Gymfile ایک Fastlane ترتیب فائل ہے جو تمام بلڈ پیرامیٹرز کو ساختہ Ruby فارمیٹ میں ذخیرہ کرتی ہے۔ کمانڈ لائن کے ذریعے فلیگ بھیجنے کے برخلاف، Gymfile ترتیب کو ریپوزٹری میں مقرر کرنے اور اس بات کی ضمانت دیتی ہے کہ تمام ڈیویلپرز اور CI ایک جیسے بلڈ پیرامیٹرز استعمال کریں۔
# Gymfile — بلڈ کی ترتیب
workspace("MyApp.xcworkspace")
scheme("MyApp")
export_method(:app-store)
configuration("Release")
output_directory("./build")
output_name("MyApp.ipa")
include_symbols(true)
include_bitcode(false)
Gymfile میں export_method پیرامیٹر Apple Developer Portal کے پروفائل قسموں کے مطابق ہے۔ App Store کی اشاعتوں کے لیے :app-store، ٹیسٹنگ کے لیے — :development یا :ad-hoc استعمال کیا جاتا ہے۔ configuration پیرامیٹر بلڈ ترتیب کا تعین کرتا ہے: اشاعتوں کے لیے Release یا ڈیبگنگ ورژنز کے لیے Debug۔
include_bitcode پیرامیٹر IPA میں بٹ کوڈ کے شامل کیے جانے کو کنٹرول کرتا ہے۔ Apple کو watchOS اور tvOS ایپلیکیشنز کے لیے بٹ کوڈ کی ضرورت تھی، لیکن iOS کے لیے اس پیرامیٹر کو بائنری فائل کا حجم کم کرنے کے لیے بند کیا جا سکتا ہے۔ include_symbols App Store Connect یا تیسری فریق نگرانی خدمات سے کریش لاگز کی سمبلائزیشن کے لیے ضروری .dSYM ڈیبگنگ سمبل فائلز شامل کرتا ہے۔
Gymfile کے اضافی پیرامیٹرز میں کسٹم ایکسپورٹ plist فائل کے لیے export_options_plist، لاگز میں ضروری آؤٹ پٹ کو دبانے کے لیے silent اور عارضی بلڈ ڈائریکٹری متعین کرنے کے لیے build_path شامل ہے۔ یہ پیرامیٹرز اس وقت مفید ہیں جب Gym کو آرٹیفیکٹس کے حوالے سے خصوصی تقاضوں والے پیچیدہ CI/CD پائپ لائنز میں ضم کیا جائے۔
کمانڈ انٹرفیس Gym میں عام بلڈ مناظر کے لیے بنیادی پیرامیٹرز اور رویے کی عین ترتیب کے لیے اعلی فلیگز شامل ہیں۔ زیادہ تر پیرامیٹرز کمانڈ لائن یا Gymfile کے ذریعے بھیجے جا سکتے ہیں، جبکہ کمانڈ لائن آرگیومنٹس کو ترتیب فائل پر ترجیح حاصل ہے۔
fastlane gym کمانڈ بغیر پیرامیٹرز کے Gymfile کی ترتیبات استعمال کرتی ہے یا موجودہ ڈائریکٹری میں خودکار پروجیکٹ کا پتہ لگاتی ہے۔ ایک سے زیادہ target والے پروجیکٹس کے لیے، ہدف بلڈ ترتیب کے صحیح انتخاب کے لیے --scheme اور --workspace متعین کرنا ضروری ہے۔
تیز ڈیبگنگ بلڈ کے لیے، fastlane gym --export_method development استعمال کیا جاتا ہے — یہ ڈیویلپرز کے آلات پر انسٹیلیشن کے لیے Development پروفائل کے ساتھ IPA بناتا ہے۔ App Store کے لیے IPA بلڈ کو --export_method app-store فلیگ اور ایک Distribution سرٹیفیکیٹ کے استعمال کی ضرورت ہے، جسے Match یا Keychain میں پہلے سے ترتیب دینا چاہیے۔
# حسب ضرورت نام کے ساتھ App Store کے لیے بلڈ
fastlane gym --export_method app-store --output_name "Release_1.0.ipa"
# آرکائیو کرنے سے پہلے صفائی کے ساتھ بلڈ
fastlane gym --clean --configuration Debug
# IPA کے بغیر سمیولٹر کے لیے بلڈ
fastlane gym --skip_package_ipa --destination "generic/platform=iOS Simulator"
--clean فلیگ چلانے سے پہلے پچھلے بلڈ کی عارضی فائلیں ہٹاتا ہے، پرانے کیش کے استعمال کو روکتا ہے اور صاف بلڈ کی ضمانت دیتا ہے۔ --destination فلیگ بلڈ کے لیے ہدف پلیٹ فارم متعین کرنے کی اجازت دیتا ہے: iOS Simulator، iOS Device یا macOS Catalyst۔
| Gym پیرامیٹر | کاریائی | |
|---|---|---|
| --scheme | بلڈ کے لیے Xcode سکیما کا انتخاب | MyApp |
| --export_method | پروفائل ایکسپورٹ کا طریقہ | app-store, ad-hoc |
| --configuration | بلڈ ترتیب | Release, Debug |
| --clean | بلڈ سے پہلے صفائی | flag |
| --output_name | آؤٹ پٹ IPA فائل کا نام | App_1.0.ipa |
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں