IPA (iOS App Store Package) iOS پر ایپلیکیشنز تقسیم کرنے کے لیے ایک آرکائیو فائل فارمیٹ ہے۔ ہر ایپلیکیشن جو App Store تک پہنچتی ہے IPA فارمیٹ سے گزرتی ہے: ڈیویلپر پروجیکٹ بناتا ہے، اس پر دستخط کرتا ہے اور IPA کو App Store Connect پر اپ لوڈ کرتا ہے۔ Apple Developer Documentation، 2026 کے مطابق، IPA فارمیٹ ZIP پر مبنی ہے اور اس میں قابل عمل Mach-O فائل، وسائل اور دستخط کے میٹا ڈیٹا شامل ہیں۔
اہم نکات
IPA (iOS App Store Package) Apple پلیٹ فارم پر ایپلیکیشنز تقسیم کرنے کے لیے ایک پیکیج فارمیٹ ہے۔ APK کی طرح، IPA تکنیکی طور پر ایک ZIP آرکائیو ہے، لیکن iOS سیکیورٹی اور دستخط کی ضروریات کے مطابق اپنی ساخت کے ساتھ۔
IPA فارمیٹ 2008 میں iPhone OS 2.0 اور App Store کے ساتھ ظاہر ہوا۔ یہ macOS کے .app بنڈل فارمیٹ پر مبنی تھا، جو منتقلی کے دوران سائز کم کرنے کے لیے ZIP میں پیک کیا گیا۔ اس کے بعد سے IPA کی ساخت میں کوئی بڑی تبدیلی نہیں آئی — صرف دستخط کی اسکیمیں اور میٹا ڈیٹا ترقی پذیر ہوئے۔
App Store — اہم چینل۔ Ad-hoc تقسیم — محدود تعداد میں ڈیوائسز (100 تک) پر جانچ کے لیے۔ Enterprise تقسیم — اسٹور میں شائع کیے بغیر کارپوریٹ ایپس کے لیے۔ ڈیویلپر Xcode کے ذریعے حقیقی ڈیوائسز پر جانچ کے لیے بھی IPA استعمال کرتے ہیں۔
IPA کی اندرونی ساخت ایک ZIP آرکائیو ہے جس میں .app بنڈل کے ساتھ Payload فولڈر اور میٹا ڈیٹا ہوتا ہے۔
| فائل/ڈائریکٹری | مقصد |
|---|---|
| Payload/ | .app بنڈل کے ساتھ روٹ فولڈر |
| Payload/App.app/ | ایپلیکیشن بنڈل: قابل عمل فائل، وسائل، nib/storyboard |
| Payload/App.app/Info.plist | میٹا ڈیٹا: bundle ID، ورژن، اجازتیں |
| Payload/App.app/embedded.mobileprovision | انسٹالیشن کے لیے Provisioning Profile |
| iTunesMetadata.plist | iTunes میٹا ڈیٹا (اختیاری) |
| META-INF/ | تصدیق کے لیے دستخط اور ہیشز |
Payload فولڈر کے اندر .app ایکسٹینشن کے ساتھ ایپلیکیشن بنڈل ہوتا ہے۔ یہ فائل نہیں بلکہ ایک ڈائریکٹری ہے جسے iOS ایک ایپلیکیشن کے طور پر پہچانتا ہے۔ اس کے اندر: قابل عمل Mach-O فائل (نام بنڈل کے نام سے ملتا ہے)، Info.plist، وسائل، تصاویر اور مقامی کردہ سٹرنگز۔
Swift یا Objective-C میں سورس کوڈ Mach-O (Mach Object) فارمیٹ میں مشین کوڈ میں کمپائل ہوتا ہے۔ فائل میں __TEXT (کوڈ)، __DATA (ڈیٹا) اور __LINKEDIT (لنکر میٹا ڈیٹا) سیگمنٹس ہوتے ہیں۔ جدید IPA میں صرف 64 بٹ arm64 آرکیٹیکچر ہوتا ہے۔
Xcode IPA بلڈ کو خودکار کرتا ہے: سورس کوڈ کی کمپائلیشن سے لے کر App Store Connect پر اپ لوڈ کرنے کے لیے تیار دستخط شدہ آرکائیو بنانے تک۔
Debug — ڈیویلپمنٹ کے لیے، بغیر آپٹیمائزیشن کے۔ Release — اشاعت کے لیے، کمپائلر آپٹیمائزیشن کے ساتھ۔ ہر اسکیم کمپائلیشن فلیگز، کوڈ دستخط اور اجازتیں طے کرتی ہے۔ Xcode Product → Archive کے ذریعے آرکائیو بناتا ہے۔
// Info.plist — بنیادی ایپلیکیشن میٹا ڈیٹا
<key>CFBundleName</key>
<string>MyApp</string>
<key>CFBundleIdentifier</key>
<string>com.example.myapp</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
Xcode ہر .swift یا .m فائل کو آبجیکٹ فائل (.o) میں کمپائل کرتا ہے، پھر انہیں ایک واحد Mach-O بائنری میں لنک کرتا ہے۔ وسائل (تصاویر، XIB، storyboard) علیحدہ طور پر پروسیس ہوتے ہیں: سٹوری بورڈز بائنری .storyboardc فارمیٹ میں کمپائل ہوتے ہیں، تصاویر Asset Catalog (.car) میں آپٹیمائز ہوتی ہیں۔
دستخط IPA کا سب سے پیچیدہ پہلو ہے۔ Apple کو حقیقی ڈیوائس پر چلنے والی ہر ایپلیکیشن کے لیے ڈیجیٹل دستخط کی ضرورت ہوتی ہے۔ سسٹم ڈیویلپر سرٹیفکیٹ، اجازتوں اور Provisioning Profile کی تعمیل کی تصدیق کرتا ہے۔
سرٹیفکیٹ (Development یا Distribution) — ڈیویلپر کی شناخت تصدیق کرتا ہے۔ Provisioning Profile — سرٹیفکیٹ، bundle ID اور اجازت یافتہ ڈیوائسز کی فہرست (ad-hoc کے لیے) جوڑتا ہے۔ اجازتیں — ایپ کی اجازتیں (push اطلاعیں، iCloud، App Groups)۔
Xcode .app بنڈل کے اندر ہر لائبریری اور فریم ورک پر دستخط کرتا ہے، پھر خود بنڈل پر دستخط کرتا ہے۔ حتمی IPA ZIP آرکائیو کی سطح پر دستخط شدہ ہوتا ہے۔ Apple انسٹالیشن کے دوران دستخط کی تمام سطحوں کی تصدیق کرتا ہے۔ iOS ایپلیکیشن لانچ نہیں کرتا اگر کم از کم ایک جزو کا دستخط غلط ہو۔
// Security framework کے ذریعے دستخط کی تصدیق
import Security
func checkSignature() -> Bool {
let url = Bundle.main.bundleURL
var staticCode: SecStaticCode?
guard SecStaticCodeCreateWithPath(
url as CFURL,
[], &staticCode
) == errSecSuccess else {
return false
}
return true
}
App Store Connect ایپ کی اشاعت کے انتظام کے لیے Apple کا پلیٹ فارم ہے۔ IPA اپ لوڈ Xcode Organizer، Transporter یا کمانڈ لائن کے ذریعے xcrun altool استعمال کرتے ہوئے کیا جاتا ہے۔
آرکائیو بنانے کے بعد، Xcode طریقہ کے انتخاب کے ساتھ Distribute App پیش کرتا ہے: App Store Connect، Ad-hoc، Enterprise یا Development۔ App Store Connect منتخب کرکے، ڈیویلپر ٹیم کی وضاحت کرتا ہے اور اپ لوڈ کی تصدیق کرتا ہے۔ Xcode دستخط کی تصدیق کرتا ہے، IPA کو Apple کے سرورز پر بھیجتا ہے اور پروسیسنگ کی حیثیت لوٹاتا ہے۔
CI/CD کے لیے xcrun altool یا نیا notarytool استعمال ہوتا ہے۔ Apple کو macOS ایپلیکیشنز کے لیے نوٹرائزیشن کی ضرورت ہے؛ iOS کے لیے یہ مرحلہ اختیاری لیکن تجویز کردہ ہے۔ xcodebuild -exportArchive اپ لوڈ کے لیے تیار دستخط شدہ IPA بناتا ہے۔
Apple ہر IPA کو بدنیتی پر مبنی کوڈ، نجی API اور App Store Review Guidelines کی تعمیل کے لیے چیک کرتا ہے۔ جائزے کے عمل میں 1 گھنٹے سے 2 دن لگتے ہیں۔
IPA کو App Store Connect پر اپ لوڈ کرتے وقت، Apple App Thinning کا اطلاق کرتا ہے — ایک ٹیکنالوجی جو مخصوص ڈیوائسز کے لیے بائنری کو بہتر بناتی ہے۔ Slicing غیر تعاون یافتہ ریزولوشنز اور آرکیٹیکچرز کے لیے وسائل ہٹاتا ہے۔ On-Demand Resources صارف کی درخواست پر ایپ کے کچھ حصے (گیم لیول، ویڈیوز) لوڈ کرنے کی اجازت دیتا ہے۔ Bitcode ایک درمیانی نمائندگی ہے جسے Apple ڈیویلپر کی شرکت کے بغیر نئے آرکیٹیکچرز کے لیے دوبارہ کمپائل کر سکتا ہے۔
App Store Sandbox کی ضروریات کے ساتھ IPA کی تعمیل کی بھی جانچ کرتا ہے: ایپلیکیشن دوسری ایپس کے ڈیٹا، اپنے کنٹینر سے باہر فائل سسٹم یا صارف کی واضح اجازت کے بغیر ہارڈویئر فیچرز تک رسائی حاصل نہیں کر سکتی۔
TestFlight ایپس کی بیٹا جانچ کے لیے Apple کی سرکاری سروس ہے۔ ڈیویلپر IPA کو App Store Connect پر اپ لوڈ کرتا ہے اور ای میل یا عوامی لنک کے ذریعے جانچ کنندگان کو دعوت دیتا ہے۔
Internal Testing — ڈیویلپر ٹیم کے 100 اراکین تک۔ Apple کے جائزے کی ضرورت نہیں۔ External Testing — 10,000 جانچ کنندگان تک، Beta App Review پاس کرنے کی ضرورت ہے۔ TestFlight خود بخود جانچ کنندگان کو بلڈ تقسیم کرتا ہے اور تجزیہ جمع کرتا ہے۔
بلڈ اپ لوڈ کے بعد 90 دنوں تک جانچ کے لیے دستیاب ہے۔ TestFlight ایک ساتھ 100 فعال بلڈز کو سپورٹ کرتا ہے۔ ہر جانچ کنندہ ایک بار میں 30 ایپس تک انسٹال کر سکتا ہے۔ Crashlytics کریش رپورٹس اور غیر مہلک خرابیاں جمع کرنے کے لیے TestFlight کے ساتھ مربوط ہوتا ہے۔
CI ماحول میں IPA بلڈ کے لیے macOS رنر کی ضرورت ہے۔ GitHub Actions، GitLab CI اور Bitrise iOS بلڈز کے لیے macOS ماحول فراہم کرتے ہیں۔ Fastlane lane `build_app` پورے چکر کو خودکار کرتا ہے: آرکائیونگ، دستخط، IPA برآمد اور TestFlight پر اپ لوڈ۔ سرٹیفکیٹس اور پروفائلز کے انتظام کے لیے Match استعمال ہوتا ہے — ایک Fastlane ٹول جو خفیہ کردہ Git ریپوزٹری میں دستخط محفوظ کرتا ہے۔
ڈیویلپرز IPA بلڈ اور دستخط کرتے وقت متعدد مخصوص غلطیوں کا سامنا کرتے ہیں۔ زیادہ تر کا تعلق سرٹیفکیٹس اور پروفائلز کی غلط ترتیب سے ہے۔
Xcode کو bundle ID اور سرٹیفکیٹ سے مماثل Provisioning Profile نہیں ملتا۔ حل — Xcode Accounts → Download Manual Profiles میں موجودہ پروفائلز ڈاؤن لوڈ کریں یا Automatic Signing استعمال کریں۔
یہ غلطی غلط آرکیٹیکچر کے ساتھ IPA اپ لوڈ کرنے پر ہوتی ہے۔ جدید IPA میں صرف arm64 ہونا چاہیے۔ بائنری میں i386 یا x86_64 کی موجودگی مسترد کرنے کا سبب بنتی ہے۔ حل — Build Settings میں آرکیٹیکچر چیک کریں اور سمیلیٹر آرکیٹیکچرز کو خارج کریں۔
IPA میں صحیح Payload/App.app ساخت نہیں ہے۔ Apple عین درجہ بندی کی توقع رکھتا ہے۔ حل — تصدیق کریں کہ آرکائیو میں ایک .app بنڈل کے ساتھ Payload فولڈر شامل ہے، فلیٹ فائل کی فہرست نہیں۔
انٹرپرائز تقسیم کے لیے Enterprise Apple ڈیویلپر پروگرام ($299/سال) استعمال ہوتا ہے۔ IPA Enterprise سرٹیفکیٹ سے دستخط شدہ ہوتا ہے اور مقدار کی حد کے بغیر کمپنی کے کسی بھی ڈیوائس پر انسٹال کیا جا سکتا ہے۔ Ad-hoc تقسیم فی ڈیویلپر اکاؤنٹ ($99/سال) 100 ڈیوائسز تک محدود ہے۔ MDM (موبائل ڈیوائس مینجمنٹ) سسٹم جیسے Jamf اور Microsoft Intune Enterprise IPA کی بڑی تعداد میں تنصیب کو سپورٹ کرتے ہیں۔
اکثر پوچھے گئے سوالات
IPA DEX کے بجائے Mach-O قابل عمل فارمیٹ استعمال کرتا ہے، انسٹالیشن کے لیے Provisioning Profile کی ضرورت ہے اور سخت App Store جائزے سے گزرتا ہے۔ APK، IPA کے برعکس، براہ راست بغیر ثالثوں کے انسٹال کیا جا سکتا ہے (sideloading)۔
نہیں، IPA بنانے کے لیے Xcode اور Apple کے ٹولز درکار ہیں، جو صرف macOS پر دستیاب ہیں۔ متبادل: ریموٹ macOS سرورز (Mac mini، AWS Mac) یا کلاؤڈ CI سروسز (macOS رنر کے ساتھ GitHub Actions)۔
سادہ ایپ — 5–30 MB۔ درمیانی پیچیدگی کی ایپ — 30–150 MB۔ گیمز 4 GB تک پہنچ سکتی ہیں۔ Apple سیلولر نیٹ ورک پر ڈاؤن لوڈ کے سائز کو 200 MB تک محدود کرتا ہے، لیکن صارف Wi-Fi کے ذریعے ڈاؤن لوڈ کر سکتا ہے۔
Ad-hoc انسٹالیشن کے لیے Xcode یا Apple Configurator استعمال ہوتا ہے۔ Enterprise ایپس manifest.plist کے ساتھ اندرونی سرور کے ذریعے تقسیم کی جاتی ہیں۔ عام صارف jailbreak یا TestFlight کے بغیر IPA انسٹال نہیں کر سکتا۔
Fat IPA میں یونیورسل بلڈز کے لیے متعدد آرکیٹیکچرز (arm64 + x86_64) ہوتے ہیں۔ Thin IPA میں کسی مخصوص ڈیوائس کے لیے صرف ایک آرکیٹیکچر ہوتا ہے۔ Apple اشاعت کے لیے صرف thin IPA قبول کرتا ہے — fat بائنریز مسترد کردی جاتی ہیں۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں