IPA: คืออะไร โครงสร้างไฟล์และหลักการทำงาน

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-04-15 เวลาอ่าน: 8 นาที

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 และการติดตั้งแบบ ad-hoc
  • โครงสร้าง ประกอบด้วยไฟล์ Mach-O ที่ทำงานได้ซึ่งเซ็นชื่อแล้ว ทรัพยากร และ Provisioning Profile
  • การเซ็นชื่อ เป็นข้อบังคับ: หากไม่มีใบรับรองและโปรไฟล์ที่ถูกต้อง IPA จะไม่ถูกติดตั้ง
  • การสร้าง ทำผ่าน Xcode รองรับสคีมาที่แตกต่างกัน: Debug, Release, Ad-hoc, Enterprise
  • สถาปัตยกรรม — IPA สมัยใหม่มีไบนารี arm64 โดยไม่รองรับอุปกรณ์ 32 บิต

IPA คืออะไรและใช้ทำอะไร

IPA (iOS App Store Package) คือรูปแบบแพ็กเกจสำหรับแจกจ่ายแอปพลิเคชันบนแพลตฟอร์ม Apple เช่นเดียวกับ APK IPA ในทางเทคนิคคือไฟล์ ZIP แต่มีโครงสร้างของตัวเองตามข้อกำหนดด้านความปลอดภัยและการเซ็นชื่อของ iOS

ประวัติของรูปแบบ

รูปแบบ IPA ปรากฏพร้อมกับ iPhone OS 2.0 ในปี 2008 และ App Store โดยอิงจากรูปแบบแพ็กเกจ .app ของ macOS ซึ่งบรรจุใน ZIP เพื่อลดขนาดระหว่างการส่ง ตั้งแต่นั้นมาโครงสร้างของ IPA ก็ไม่มีการเปลี่ยนแปลงครั้งใหญ่ — มีเพียงสคีมาลายเซ็นและข้อมูลเมตาเท่านั้นที่พัฒนา

กรณีการใช้งาน

App Store — ช่องทางหลัก การแจกจ่าย Ad-hoc — สำหรับทดสอบบนอุปกรณ์จำนวนจำกัด (สูงสุด 100 เครื่อง) การแจกจ่าย Enterprise — สำหรับแอปองค์กรโดยไม่ต้องเผยแพร่ในร้านค้า นักพัฒนายังใช้ IPA สำหรับทดสอบบนอุปกรณ์จริงผ่าน Xcode

โครงสร้างภายในของไฟล์ IPA

โครงสร้าง ภายใน ของ IPA คือไฟล์ ZIP ที่มีโฟลเดอร์ Payload พร้อมบันเดิล .app และข้อมูลเมตา

ไฟล์/ไดเรกทอรีวัตถุประสงค์
Payload/โฟลเดอร์รากที่มีบันเดิล .app
Payload/App.app/บันเดิลแอปพลิเคชัน: ไฟล์ที่ทำงานได้ ทรัพยากร nib/storyboard
Payload/App.app/Info.plistข้อมูลเมตา: bundle ID, เวอร์ชัน, สิทธิ์
Payload/App.app/embedded.mobileprovisionProvisioning Profile สำหรับการติดตั้ง
iTunesMetadata.plistข้อมูลเมตาของ iTunes (ไม่บังคับ)
META-INF/ลายเซ็นและแฮชสำหรับการตรวจสอบ

บันเดิล .app

ภายในโฟลเดอร์ Payload คือบันเดิลแอปพลิเคชันที่มีนามสกุล .app นี่ไม่ใช่ไฟล์แต่เป็นไดเรกทอรีที่ iOS รู้จักว่าเป็นแอปพลิเคชัน ภายในประกอบด้วย: ไฟล์ Mach-O ที่ทำงานได้ (ชื่อตรงกับชื่อบันเดิล), Info.plist, ทรัพยากร, รูปภาพ และสตริงที่แปลภาษา

ไฟล์ที่ทำงานได้ Mach-O

ซอร์สโค้ดใน Swift หรือ Objective-C จะถูกคอมไพล์เป็นรหัสเครื่องในรูปแบบ Mach-O (Mach Object) ไฟล์ประกอบด้วยเซกเมนต์ __TEXT (โค้ด), __DATA (ข้อมูล) และ __LINKEDIT (ข้อมูลเมตาของลิงก์เกอร์) IPA สมัยใหม่มีเฉพาะสถาปัตยกรรม arm64 64 บิตเท่านั้น

กระบวนการสร้าง IPA ผ่าน Xcode

Xcode ทำให้การสร้าง IPA เป็นอัตโนมัติ: ตั้งแต่การคอมไพล์ซอร์สโค้ดจนถึงการสร้างไฟล์เก็บถาวรที่เซ็นชื่อพร้อมอัปโหลดไปยัง App Store Connect

สคีมาการสร้าง

Debug — สำหรับการพัฒนา ไม่มีการปรับให้เหมาะสม Release — สำหรับการเผยแพร่ พร้อมการปรับให้เหมาะสมของคอมไพเลอร์ แต่ละสคีมากำหนดแฟล็กการคอมไพล์ การเซ็นชื่อโค้ด และสิทธิ์ (entitlements) Xcode สร้างไฟล์เก็บถาวร (Archive) ผ่าน Product → Archive

objective-c
// 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) จะถูกประมวลผลแยกต่างหาก: storyboard จะถูกคอมไพล์เป็นรูปแบบไบนารี .storyboardc รูปภาพจะถูกปรับให้เหมาะสมใน Asset Catalog (.car)

การเซ็นชื่อ IPA และ Provisioning Profile

การเซ็นชื่อ เป็นด้านที่ซับซ้อนที่สุดของIPA Apple ต้องการลายเซ็นดิจิทัลสำหรับแอปพลิเคชันใดๆ ที่ทำงานบนอุปกรณ์จริง ระบบตรวจสอบใบรับรองนักพัฒนา สิทธิ์ (entitlements) และความสอดคล้องของ Provisioning Profile

องค์ประกอบของการเซ็นชื่อ

ใบรับรอง (Certificate — Development หรือ Distribution) — รับรองตัวตนของนักพัฒนา Provisioning Profile — เชื่อมโยงใบรับรอง, bundle ID และรายการอุปกรณ์ที่อนุญาต (สำหรับ ad-hoc) สิทธิ์ — การอนุญาตของแอป (การแจ้งเตือนแบบ push, iCloud, App Groups)

กระบวนการเซ็นชื่อ

Xcode เซ็นชื่อแต่ละไลบรารีและเฟรมเวิร์กภายในบันเดิล .app จากนั้นเซ็นชื่อบันเดิลเอง IPA สุดท้ายจะถูกเซ็นชื่อในระดับไฟล์ ZIP Apple ตรวจสอบทุกระดับของการเซ็นชื่อระหว่างการติดตั้ง iOS จะไม่เปิดแอปพลิเคชันหากแม้แต่องค์ประกอบเดียวมีลายเซ็นที่ไม่ถูกต้อง

swift
// การตรวจสอบลายเซ็นผ่าน 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
}

การเผยแพร่ IPA ใน App Store Connect

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 วัน

App Thinning: การปรับ IPA ให้เหมาะสมสำหรับอุปกรณ์

เมื่ออัปโหลด IPA ไปยัง App Store Connect Apple จะใช้ App Thinning — เทคโนโลยีที่ปรับไบนารีให้เหมาะสมสำหรับอุปกรณ์เฉพาะ Slicing ลบทรัพยากรสำหรับความละเอียดและสถาปัตยกรรมที่ไม่รองรับ On-Demand Resources อนุญาตให้โหลดส่วนต่างๆ ของแอป (ระดับเกม, วิดีโอ) เฉพาะเมื่อผู้ใช้ร้องขอ Bitcode คือการแสดงระดับกลางที่ Apple สามารถคอมไพล์ใหม่สำหรับสถาปัตยกรรมใหม่โดยไม่ต้องให้นักพัฒนามีส่วนร่วม

App Store ยังตรวจสอบการปฏิบัติตาม IPA กับข้อกำหนด Sandbox: แอปพลิเคชันต้องไม่เข้าถึงข้อมูลของแอปอื่น ระบบไฟล์นอกคอนเทนเนอร์ของตนเอง หรือฟังก์ชันฮาร์ดแวร์โดยไม่ได้รับอนุญาตอย่างชัดแจ้งจากผู้ใช้

การทดสอบ IPA ผ่าน TestFlight

TestFlight คือบริการทางการของ Apple สำหรับการทดสอบเบตาแอป นักพัฒนาอัปโหลด IPA ไปยัง App Store Connect และเชิญผู้ทดสอบผ่านอีเมลหรือลิงก์สาธารณะ

การทดสอบภายในและภายนอก

Internal Testing — สมาชิกสูงสุด 100 คนจากทีมนักพัฒนา ไม่ต้องตรวจสอบโดย Apple External Testing — ผู้ทดสอบสูงสุด 10,000 คน ต้องผ่าน Beta App Review TestFlight จะแจกจ่ายบิลด์ให้ผู้ทดสอบโดยอัตโนมัติและรวบรวมการวิเคราะห์

ข้อจำกัดของ TestFlight

บิลด์พร้อมสำหรับการทดสอบเป็นเวลา 90 วัน หลังจากอัปโหลด TestFlight รองรับบิลด์ที่ใช้งานอยู่พร้อมกันสูงสุด 100 บิลด์ ผู้ทดสอบแต่ละคนสามารถติดตั้งได้สูงสุด 30 แอปพร้อมกัน Crashlytics ผสานรวมกับ TestFlight เพื่อรวบรวมรายงานการขัดข้องและข้อผิดพลาดที่ไม่ร้ายแรง

IPA และการผสานรวมอย่างต่อเนื่อง

การสร้าง IPA ในสภาพแวดล้อม CI ต้องการรันเนอร์ macOS GitHub Actions, GitLab CI และ Bitrise มีสภาพแวดล้อม macOS สำหรับบิลด์ iOS Fastlane lane `build_app` ทำให้วงจรทั้งหมดเป็นอัตโนมัติ: การเก็บถาวร การเซ็นชื่อ การส่งออก IPA และการอัปโหลดไปยัง TestFlight สำหรับการจัดการใบรับรองและโปรไฟล์ จะใช้ Match — เครื่องมือ Fastlane ที่เก็บลายเซ็นในที่เก็บ Git ที่เข้ารหัส

ปัญหาทั่วไปเกี่ยวกับ IPA

นักพัฒนา พบข้อผิดพลาดลักษณะต่างๆ จำนวนมากเมื่อสร้างและเซ็นชื่อ IPA ส่วนใหญ่เกี่ยวข้องกับการกำหนดค่าใบรับรองและโปรไฟล์ที่ไม่ถูกต้อง

ข้อผิดพลาดการเซ็นชื่อ: No matching provisioning profile found

Xcode ไม่พบ Provisioning Profile ที่ตรงกับ bundle ID และใบรับรอง วิธีแก้ไข — ดาวน์โหลดโปรไฟล์ปัจจุบันใน Xcode Accounts → Download Manual Profiles หรือใช้ Automatic Signing

ITMS-90125: The binary is invalid

ข้อผิดพลาดนี้เกิดขึ้นเมื่ออัปโหลด IPA ด้วยสถาปัตยกรรมที่ไม่ถูกต้อง IPA สมัยใหม่ควรมีเฉพาะ arm64 การมี i386 หรือ x86_64 ในไบนารีทำให้ถูกปฏิเสธ วิธีแก้ไข — ตรวจสอบสถาปัตยกรรมใน Build Settings และแยกสถาปัตยกรรมจำลองออก

Invalid Bundle Structure: The bundle is missing the required .app bundle

IPA ไม่มีโครงสร้าง Payload/App.app ที่ถูกต้อง Apple คาดหวังลำดับชั้นที่แม่นยำ วิธีแก้ไข — ตรวจสอบว่าไฟล์เก็บถาวรมีโฟลเดอร์ Payload พร้อมบันเดิล .app หนึ่งอัน ไม่ใช่รายการไฟล์แบบแบน

การแจกจ่าย IPA โดยไม่ใช้ App Store

สำหรับการแจกจ่ายองค์กร จะใช้โปรแกรม Enterprise ของ Apple ($299/ปี) IPA เซ็นชื่อด้วยใบรับรอง Enterprise และสามารถติดตั้งบนอุปกรณ์ใดๆ ของบริษัทได้โดยไม่จำกัดจำนวน การแจกจ่าย Ad-hoc จำกัดที่ 100 อุปกรณ์ต่อบัญชีนักพัฒนา ($99/ปี) ระบบ MDM (การจัดการอุปกรณ์เคลื่อนที่) เช่น Jamf และ Microsoft Intune รองรับการติดตั้งจำนวนมากของ IPA Enterprise

คำถามที่พบบ่อย

IPA แตกต่างจาก APK อย่างไร?

IPA ใช้รูปแบบที่ทำงานได้ Mach-O แทน DEX ต้องใช้ Provisioning Profile ในการติดตั้ง และผ่านการตรวจสอบ App Store อย่างเข้มงวด APK ต่างจาก IPA ตรงที่สามารถติดตั้งได้โดยตรงโดยไม่มีคนกลาง (sideloading)

สามารถสร้าง IPA บน Windows ได้หรือไม่?

ไม่ได้ การสร้าง IPA ต้องใช้ Xcode และเครื่องมือของ Apple ซึ่งมีเฉพาะบน macOS เท่านั้น ทางเลือก: เซิร์ฟเวอร์ macOS ระยะไกล (Mac mini, AWS Mac) หรือบริการ CI บนคลาวด์ (GitHub Actions พร้อมรันเนอร์ macOS)

IPA ทั่วไปมีขนาดเท่าไหร่?

แอปธรรมดา — 5–30 MB แอปความซับซ้อนปานกลาง — 30–150 MB เกมอาจสูงถึง 4 GB Apple จำกัดขนาดดาวน์โหลดผ่านเครือข่ายเซลลูลาร์ที่ 200 MB แต่ผู้ใช้สามารถดาวน์โหลดผ่าน Wi-Fi

จะติดตั้ง IPA โดยไม่ใช้ App Store ได้อย่างไร?

สำหรับการติดตั้ง ad-hoc จะใช้ Xcode หรือ Apple Configurator แอป Enterprise จะแจกจ่ายผ่านเซิร์ฟเวอร์ภายในด้วย manifest.plist ผู้ใช้ทั่วไปไม่สามารถติดตั้ง IPA ได้โดยไม่ต้อง jailbreak หรือ TestFlight

IPA แบบ thin และ IPA แบบ fat คืออะไร?

Fat IPA มีหลายสถาปัตยกรรม (arm64 + x86_64) สำหรับบิลด์สากล Thin IPA มีเพียงสถาปัตยกรรมเดียวสำหรับอุปกรณ์เฉพาะ Apple ยอมรับเฉพาะ thin IPA สำหรับการเผยแพร่ — ไบนารีแบบ fat จะถูกปฏิเสธ

สรุป

  • IPA คือรูปแบบการแจกจ่ายแอป iOS ที่ใช้ ZIP พร้อมไฟล์ที่ทำงานได้ Mach-O
  • โครงสร้าง ประกอบด้วยบันเดิล Payload/.app, Info.plist, ลายเซ็น และ Provisioning Profile
  • การสร้าง ทำผ่าน Xcode โดยคอมไพล์ Swift/Objective-C เป็นรหัสเครื่อง arm64
  • การเซ็นชื่อ เป็นข้อบังคับ: ใบรับรอง + Provisioning Profile + สิทธิ์ได้รับการตรวจสอบโดย iOS ระหว่างการติดตั้ง
  • การเผยแพร่ ผ่าน App Store Connect พร้อมการตรวจสอบ Apple Review Guidelines
  • TestFlight คือเครื่องมือทดสอบเบตาอย่างทางการสำหรับผู้ทดสอบสูงสุด 10,000 คน
  • ข้อจำกัด: สร้างได้บน macOS เท่านั้น, การเซ็นชื่อบังคับ, ขนาดสูงสุด 4 GB

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม