Ad Hoc Distribution เป็นวิธีการกระจายแอปพลิเคชัน iOS สำหรับทดสอบบนอุปกรณ์จำนวนจำกัดโดยไม่ต้องเผยแพร่ใน App Store อุปกรณ์แต่ละเครื่องต้องลงทะเบียนใน Apple Developer Portal ด้วย UDID ที่ไม่ซ้ำกัน สูงสุด 100 เครื่องต่อบัญชี ตาม เอกสารสำหรับนักพัฒนา Apple (2025) วิธีนี้ใช้สำหรับการทดสอบเบตาและการสาธิตแอปพลิเคชันให้ลูกค้าดู โดยไม่ต้องผ่านการตรวจสอบของ App Store ข้อจำกัดหลักคือการผูกติดกับอุปกรณ์จริง ซึ่งทำให้การขยายขนาดการทดสอบทำได้ยาก
ประเด็นสำคัญ
Ad Hoc Distribution เป็นวิธีการกระจายแอปพลิเคชัน iOS ที่สมาชิก Apple Developer Program ทุกคน ($99/ปี) สามารถใช้ได้ วิธีนี้อนุญาตให้ติดตั้งแอปบนอุปกรณ์โดยตรงโดยไม่ต้องผ่านการตรวจสอบของ App Store วัตถุประสงค์หลักคือการทดสอบก่อนเผยแพร่: นักพัฒนา ผู้ทดสอบ และ ลูกค้า สามารถติดตั้งแอปบนอุปกรณ์ของตนก่อนการเผยแพร่อย่างเป็นทางการ
Ad Hoc Distribution ใช้ Provisioning Profile ที่มีรายการ UDID ของอุปกรณ์ที่อนุญาต เมื่อเซ็นชื่อแอป Xcode หรือ Fastlane จะสร้างไฟล์ IPA ที่สามารถติดตั้งได้เฉพาะบนอุปกรณ์ในรายการนี้เท่านั้น แต่ละ UDID จะถูกเพิ่มผ่าน Apple Developer Portal และจำนวนรวมต้องไม่เกิน 100 เครื่องต่อบัญชีนักพัฒนา
ตามข้อมูลของ Apple (2025) Ad Hoc Distribution ยังคงเป็นที่ต้องการสำหรับ การทดสอบก่อนเผยแพร่ เมื่อแอปยังไม่ผ่านการตรวจสอบของ App Store แต่จำเป็นต้องแสดงให้ลูกค้าดูหรือทดสอบบนอุปกรณ์จริง อย่างไรก็ตาม Apple แนะนำให้ใช้ TestFlight สำหรับการทดสอบเบตาขนาดใหญ่ โดยให้ Ad Hoc สำหรับกลุ่มเล็กและกรณีพิเศษ
การกระจาย Ad Hoc ทำงานผ่านการติดตั้ง OTA (Over-The-Air) หรือผ่าน iTunes/Finder นักพัฒนาสร้าง Ad Hoc Provisioning Profile พร้อม UDID ที่เลือก เซ็นชื่อแอปด้วยโปรไฟล์นี้ และส่งออกไฟล์ IPA ผู้ใช้ติดตั้งแอปผ่าน Safari ผ่านลิงก์หรือผ่าน Finder บน macOS
ในทางเทคนิค การกระจาย Ad Hoc มีหลายขั้นตอน ขั้นแรก ผู้ดูแลระบบรวบรวม UDID ของอุปกรณ์ทดสอบ — แต่ละ UDID เป็นตัวระบุเฉพาะ 40 ตัวอักษรสำหรับอุปกรณ์ iOS จากนั้น UDID จะถูกเพิ่มใน Apple Developer Portal สร้าง Provisioning Profile และสร้าง IPA ที่เซ็นชื่อแล้ว อายุ ของโปรไฟล์ Ad Hoc คือหนึ่งปี หลังจากนั้นแอปจะหยุดเปิด
# Fastlane — ทำให้การกระจาย Ad Hoc เป็นอัตโนมัติ
lane :adhoc do
match(type: "adhoc")
gym(scheme: "MyApp",
export_method: "ad-hoc")
pilot(
distribute_only: true,
devices_file: "./devices.txt"
)
end
ในการติดตั้งแอป Ad Hoc ผู้ใช้ต้อง เชื่อถือ ใบรับรองของนักพัฒนาบนอุปกรณ์ของตน โดยไปที่การตั้งค่า iOS "ทั่วไป" → "VPN และการจัดการอุปกรณ์" → "โปรไฟล์" และแตะ "เชื่อถือ" หากไม่มีขั้นตอนนี้ แอปจะไม่เริ่มทำงาน
UDID (Unique Device Identifier) เป็นตัวระบุเฉพาะสำหรับอุปกรณ์ iOS แต่ละเครื่อง สำหรับการกระจาย Ad Hoc คุณต้องรวบรวม UDID ของอุปกรณ์ทดสอบทั้งหมดและเพิ่มใน Apple Developer Portal สูงสุด 100 เครื่องต่อบัญชีนักพัฒนาต่อปี ข้อจำกัดนี้ใช้กับ แอปทั้งหมด ของนักพัฒนา ไม่ใช่แต่ละแอปแยกกัน
| วิธีการรับ UDID | ความยาก | หมายเหตุ |
|---|---|---|
| ผ่าน Safari | ต่ำ | ติดตั้งโปรไฟล์การกำหนดค่าเพื่อดึง UDID |
| ผ่าน Xcode | ปานกลาง | เชื่อมต่ออุปกรณ์กับ Mac และคัดลอก UDID จาก Xcode |
| ผ่าน MDM | สูง | โซลูชัน MDM สามารถรวบรวม UDID ของอุปกรณ์องค์กร |
| ผ่าน iTunes | ปานกลาง | วิธีการดั้งเดิม — iTunes ไม่ได้รับการสนับสนุนบน macOS ใหม่ |
ข้อจำกัด 100 เครื่อง จะถูกรีเซ็ตเมื่อสิ้นปีปฏิทิน — การรีเซ็ตเกิดขึ้นในวันที่ 1 มกราคม อย่างไรก็ตาม Apple แนะนำให้ใช้ TestFlight สำหรับการทดสอบขนาดใหญ่ ซึ่งรองรับผู้ทดสอบภายนอกสูงสุด 10 000 คน Ad Hoc Distribution ตั้งแต่ปี 2022 ยังคงมีความเกี่ยวข้องสำหรับกรณีที่แอปยังไม่ผ่าน Beta App Review หรือเมื่อการทดสอบต้องการเข้าถึงไฟล์ IPA ต้นฉบับ
การตั้งค่า Ad Hoc Distribution ทำผ่าน Apple Developer Portal และ Xcode กระบวนการประกอบด้วยการลงทะเบียนอุปกรณ์ การสร้าง Provisioning Profile การเซ็นชื่อแอป และการส่งออก IPA เพื่อกระจาย สำหรับการพัฒนาเป็นทีม แนะนำให้ใช้ Fastlane หรือระบบอัตโนมัติผ่าน CI/CD
เพื่อลดความซับซ้อนของกระบวนการ ใช้ บริการกระจาย: Firebase App Distribution, Microsoft App Center หรือ BuddyBuild บริการเหล่านี้จัดการ UDID โดยอัตโนมัติ สร้างโปรไฟล์ Ad Hoc และส่งคำเชิญไปยังผู้ทดสอบ Firebase App Distribution ยังรวมเข้ากับไปป์ไลน์ CI/CD ผ่าน Gradle หรือ Fastlane
ประเด็นสำคัญ — การอัปเดต UDID หากคุณต้องการเพิ่มอุปกรณ์ใหม่ในโปรไฟล์ คุณจะต้องสร้าง Provisioning Profile ใหม่และเซ็นชื่อแอปใหม่ อุปกรณ์ที่ติดตั้งแอปแล้วจะยังคงใช้งานต่อไปจนกว่าโปรไฟล์จะหมดอายุ (1 ปี) หลังจากนั้นจำเป็นต้อง ติดตั้งใหม่ ด้วยโปรไฟล์ใหม่
Ad Hoc Distribution เป็นเพียงหนึ่งในสามวิธีในการกระจายแอป iOS โดยไม่ต้องใช้ App Store TestFlight (ฟรี รองรับผู้ทดสอบภายนอกสูงสุด 10 000 คน) และ Enterprise Distribution (ไม่มีข้อจำกัดด้านอุปกรณ์ สำหรับแอปองค์กร) แก้ปัญหาที่คล้ายกันด้วย ข้อจำกัดและข้อกำหนด ที่แตกต่างกัน
TestFlight เป็นวิธีที่ Apple แนะนำสำหรับการทดสอบเบตา ไม่ต้องรวบรวม UDID รองรับผู้ทดสอบภายในสูงสุด 100 คนและภายนอกสูงสุด 10 000 คน จัดการเวอร์ชันโดยอัตโนมัติ และให้ การวิเคราะห์การติดตั้ง อย่างไรก็ตาม TestFlight ต้องผ่าน Beta App Review สำหรับผู้ทดสอบภายนอก ซึ่งอาจใช้เวลา 1–2 วัน Ad Hoc Distribution ไม่ต้องผ่านการตรวจสอบใด ๆ
Enterprise Distribution เหมาะสำหรับ แอปองค์กร ที่มีจำนวนอุปกรณ์ไม่จำกัด แต่ต้องลงทะเบียนใน Apple Developer Enterprise Program ($299/ปี) พร้อมหมายเลข D-U-N-S Ad Hoc พร้อมใช้งานสำหรับสมาชิกทั้งหมดของโปรแกรมมาตรฐาน ($99/ปี) และไม่ต้องมีการตรวจสอบทางกฎหมายของบริษัท สำหรับทีมขนาดเล็กและโปรเจกต์ Ad Hoc ยังคงเป็นวิธีที่ง่ายที่สุดในการกระจายโดยไม่ต้องใช้ App Store
คำถามที่พบบ่อย
จำนวนอุปกรณ์สูงสุดสำหรับ Ad Hoc Distribution คือ 100 เครื่องต่อบัญชีนักพัฒนา Apple ข้อจำกัดนี้ใช้ร่วมกันสำหรับแอปทั้งหมดของนักพัฒนา ไม่ใช่แยกแต่ละแอป การรีเซ็ตเกิดขึ้นในวันที่ 1 มกราคมของทุกปี สำหรับการทดสอบบนอุปกรณ์จำนวนมากขึ้น ให้ใช้ TestFlight หรือ Enterprise Distribution (สำหรับแอปองค์กร)
UDID ของอุปกรณ์สามารถรับได้ผ่านบริการเว็บเช่น udid.io หรือ install.appcenter.ms ผู้ใช้เปิดลิงก์ใน Safari บน iOS ติดตั้งโปรไฟล์การกำหนดค่า จากนั้น UDID จะแสดงบนหน้าจอ หรืออีกทางหนึ่ง สามารถคัดลอก UDID จาก Xcode เมื่อเชื่อมต่ออุปกรณ์กับ Mac: Window → Devices and Simulators → Identifier
ไม่ Ad Hoc Distribution มีไว้สำหรับการทดสอบเท่านั้น หากต้องการเผยแพร่ใน App Store คุณต้องสร้าง App Store Distribution Profile และเซ็นชื่อแอปตามนั้น โปรไฟล์ Ad Hoc จะไม่ผ่านการตรวจสอบของ App Store Connect ก่อนส่งไปยัง App Store ตรวจสอบให้แน่ใจว่าได้เปลี่ยน export method เป็น app-store ใน Xcode หรือ Fastlane
หากแอป Ad Hoc ไม่เปิด ให้ตรวจสอบ: ใบรับรองนักพัฒนาได้รับการเชื่อถือบนอุปกรณ์ (การตั้งค่า → ทั่วไป → VPN และการจัดการอุปกรณ์) โปรไฟล์ Provisioning Profile ยังไม่หมดอายุ UDID ของอุปกรณ์ถูกเพิ่มในโปรไฟล์ และแอปได้รับการเซ็นชื่อด้วย ใบรับรอง ที่ถูกต้อง หากปัญหายังคงอยู่ ให้ลบแอปและติดตั้งใหม่ด้วยโปรไฟล์ที่อัปเดต
Development Profile มีไว้สำหรับเรียกใช้แอปโดยตรงจาก Xcode บนอุปกรณ์ที่เชื่อมต่อ Ad Hoc Profile มีไว้สำหรับกระจายไฟล์ IPA ที่ติดตั้งได้ไปยังอุปกรณ์โดยไม่ต้องใช้ Xcode ความแตกต่างหลัก: Development ต้องการการเชื่อมต่อกับ Xcode ในขณะที่ Ad Hoc ใช้การติดตั้ง OTA ผ่าน Safari หรือ Finder ทั้งคู่จำกัดที่ 100 เครื่อง
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ