Ad Hoc Distribution — چیست، محدودیت‌های تست iOS

نویسنده: IT Sectr منتشر شده: 2026-06-06 زمان مطالعه: 9 دقیقه

Ad Hoc Distribution روشی برای توزیع برنامه‌های iOS برای تست روی تعداد محدودی دستگاه بدون انتشار در App Store است. هر دستگاه باید با UDID منحصربه‌فرد در Apple Developer Portal ثبت شود، حداکثر تعداد — ۱۰۰ دستگاه در هر حساب. طبق Apple Developer Documentation (۲۰۲۵)، این روش برای تست بتا و نمایش برنامه‌ها به مشتریان بدون نیاز به تایید App Store استفاده می‌شود. محدودیت اصلی — وابستگی به دستگاه‌های فیزیکی که مقیاس‌پذیری تست را دشوار می‌کند.

نکات مهم

  • Ad Hoc Distribution — نصب برنامه‌های iOS روی ۱۰۰ دستگاه ثبت‌شده بدون App Store
  • UDID هر دستگاه به Apple Developer Portal اضافه شده و در پروفایل گنجانده می‌شود
  • مدت اعتبار پروفایل Ad Hoc — ۱ سال، پس از آن نیاز به نصب مجدد برنامه‌هاست
  • تفاوت با Enterprise — Ad Hoc به ۱۰۰ دستگاه محدود است و به شماره D-U-N-S نیاز ندارد
  • TestFlight — جایگزین Ad Hoc بدون محدودیت تعداد دستگاه برای تست بتا

Ad Hoc Distribution چیست؟

Ad Hoc Distribution روشی برای توزیع برنامه‌های iOS است که برای همه اعضای Apple Developer Program (۹۹$/سال) در دسترس است. این روش امکان نصب مستقیم برنامه‌ها روی دستگاه‌ها بدون تایید App Store را فراهم می‌کند. هدف اصلی — تست قبل از انتشار: توسعه‌دهندگان، تسترها و مشتریان می‌توانند برنامه را قبل از انتشار رسمی روی دستگاه‌های خود نصب کنند.

Ad Hoc Distribution از Provisioning Profile استفاده می‌کند که شامل لیست UDID دستگاه‌های مجاز است. هنگام امضای برنامه، Xcode یا Fastlane فایل IPA ایجاد می‌کند که فقط روی دستگاه‌های موجود در این لیست قابل نصب است. هر UDID از طریق Apple Developer Portal اضافه می‌شود و تعداد کل نمی‌تواند از ۱۰۰ دستگاه در هر حساب توسعه‌دهنده تجاوز کند.

طبق داده‌های Apple (۲۰۲۵)، Ad Hoc Distribution برای تست پیش از انتشار زمانی که برنامه هنوز تایید App Store را دریافت نکرده اما باید به مشتری نشان داده شود یا روی دستگاه‌های واقعی تست شود، مورد استفاده قرار می‌گیرد. با این حال، Apple استفاده از TestFlight را برای تست بتا در مقیاس بزرگ توصیه می‌کند و Ad Hoc را برای گروه‌های کوچک و موارد خاص نگه می‌دارد.

توزیع Ad Hoc چگونه کار می‌کند؟

توزیع Ad Hoc از طریق مکانیسم نصب OTA (Over-The-Air) یا از طریق iTunes/Finder کار می‌کند. توسعه‌دهنده Ad Hoc Provisioning Profile با UDIDهای انتخاب شده ایجاد می‌کند، برنامه را با این پروفایل امضا کرده و فایل IPA را صادر می‌کند. کاربر برنامه را از طریق Safari با لینک یا از طریق Finder در macOS نصب می‌کند.

از نظر فنی، Ad Hoc Distribution شامل چند مرحله است. ابتدا مدیر UDID دستگاه‌های تست را جمع‌آوری می‌کند — هر UDID یک شناسه ۴۰ کاراکتری منحصربه‌فرد دستگاه iOS است. سپس UDIDها به Apple Developer Portal اضافه می‌شوند، Provisioning Profile ایجاد می‌شود و IPA امضا شده تولید می‌شود. مدت اعتبار پروفایل Ad Hoc یک سال است، پس از آن برنامه‌ها باز نمی‌شوند.

ruby
# 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 و محدودیت ۱۰۰ دستگاه

UDID (Unique Device Identifier) شناسه منحصربه‌فرد هر دستگاه iOS است. برای Ad Hoc Distribution باید UDID همه دستگاه‌های تست را جمع‌آوری کرده و به Apple Developer Portal اضافه کنید. حداکثر تعداد — ۱۰۰ دستگاه در هر حساب توسعه‌دهنده در سال. این محدودیت برای همه برنامه‌های توسعه‌دهنده اعمال می‌شود، نه برای هر برنامه به صورت جداگانه.

روش دریافت UDIDسختیتوضیح
از طریق Safariکمنصب پروفایل پیکربندی برای استخراج UDID
از طریق Xcodeمتوسطاتصال دستگاه به Mac و کپی UDID از Xcode
از طریق MDMزیادراه‌حل MDM می‌تواند UDID دستگاه‌های شرکتی را جمع‌آوری کند
از طریق iTunesمتوسطروش قدیمی — iTunes دیگر در macOS جدید پشتیبانی نمی‌شود

محدودیت ۱۰۰ دستگاه در پایان سال تقویمی بازنشانی می‌شود — بازنشانی در ۱ ژانویه انجام می‌شود. با این حال، Apple برای تست در مقیاس بزرگ استفاده از TestFlight را توصیه می‌کند که تا ۱۰۰۰۰ تستر خارجی را پشتیبانی می‌کند. Ad Hoc Distribution از سال ۲۰۲۲ برای مواردی که برنامه هنوز Beta App Review را گذرانده یا تست نیاز به دسترسی به فایل IPA اصلی دارد، همچنان مرتبط است.

تنظیمات Ad Hoc Distribution

تنظیمات Ad Hoc Distribution از طریق Apple Developer Portal و Xcode انجام می‌شود. فرآیند شامل ثبت دستگاه‌ها، ایجاد Provisioning Profile، امضای برنامه و صادرات IPA برای توزیع است. برای توسعه تیمی توصیه می‌شود از Fastlane یا خودکارسازی از طریق CI/CD استفاده کنید.

  1. جمع‌آوری UDID دستگاه‌های تست از طریق udid.io یا پروفایل پیکربندی
  2. اضافه کردن UDID در Apple Developer Portal → Certificates, Identifiers & Profiles → Devices
  3. ایجاد Ad Hoc Provisioning Profile برای Bundle ID مورد نظر با شامل شدن دستگاه‌های ثبت‌شده
  4. امضای برنامه با پروفایل Ad Hoc در Xcode: Product → Archive → Distribute Ad Hoc
  5. صادرات فایل IPA و انتشار لینک از طریق سرور OTA یا Firebase App Distribution
  6. کاربر: باز کردن لینک روی دستگاه، نصب برنامه، اعتماد به گواهی در تنظیمات

برای ساده‌سازی فرآیند از سرویس‌های توزیع استفاده می‌شود: Firebase App Distribution، Microsoft App Center یا BuddyBuild. این سرویس‌ها به طور خودکار UDIDها را مدیریت می‌کنند، پروفایل‌های Ad Hoc ایجاد می‌کنند و دعوت‌نامه‌هایی برای تسترها ارسال می‌کنند. Firebase App Distribution همچنین با خط لوله CI/CD از طریق Gradle یا Fastlane ادغام می‌شود.

نکته مهم — به‌روزرسانی UDID. اگر نیاز به اضافه کردن دستگاه جدید به پروفایل دارید، باید Provisioning Profile را دوباره ایجاد کرده و برنامه را دوباره امضا کنید. دستگاه‌هایی که قبلاً برنامه را نصب کرده‌اند تا انقضای پروفایل (۱ سال) به استفاده ادامه می‌دهند. پس از آن نصب مجدد با پروفایل جدید مورد نیاز است.

Ad Hoc در مقابل TestFlight و Enterprise

Ad Hoc Distribution تنها یکی از سه روش توزیع برنامه‌های iOS بدون App Store است. TestFlight (رایگان، تا ۱۰۰۰۰ تستر خارجی) و Enterprise Distribution (بدون محدودیت دستگاه، برای برنامه‌های شرکتی) وظایف مشابهی را با محدودیت‌ها و الزامات مختلف حل می‌کنند.

TestFlight روش ترجیحی Apple برای تست بتا است. این روش نیازی به جمع‌آوری UDID ندارد، تا ۱۰۰ تستر داخلی و ۱۰۰۰۰ تستر خارجی را پشتیبانی می‌کند، به طور خودکار نسخه‌ها را مدیریت کرده و تحلیل نصب ارائه می‌دهد. با این حال، TestFlight برای تسترهای خارجی نیاز به گذراندن Beta App Review دارد که ممکن است ۱–۲ روز طول بکشد. Ad Hoc Distribution اصلاً نیازی به تایید ندارد.

Enterprise Distribution برای برنامه‌های شرکتی با تعداد نامحدود دستگاه مناسب است، اما نیاز به ثبت‌نام در Apple Developer Enterprise Program (۲۹۹$/سال) با شماره D-U-N-S دارد. Ad Hoc برای همه اعضای برنامه استاندارد (۹۹$/سال) در دسترس است و نیازی به تأیید حقوقی شرکت ندارد. برای تیم‌ها و پروژه‌های کوچک، Ad Hoc ساده‌ترین روش توزیع بدون App Store باقی می‌ماند.

سوالات متداول

چند دستگاه می‌توان به Ad Hoc Distribution اضافه کرد؟

حداکثر تعداد دستگاه برای Ad Hoc Distribution — ۱۰۰ دستگاه در هر حساب توسعه‌دهنده Apple. محدودیت برای همه برنامه‌های توسعه‌دهنده مشترک است، نه برای هر برنامه به صورت جداگانه. بازنشانی در ۱ ژانویه هر سال انجام می‌شود. برای تست روی تعداد بیشتری دستگاه از TestFlight یا Enterprise Distribution (برای برنامه‌های شرکتی) استفاده کنید.

چگونه UDID دستگاه را برای Ad Hoc پیدا کنیم؟

UDID دستگاه را می‌توان از طریق سرویس‌های وب مانند udid.io یا install.appcenter.ms دریافت کرد. کاربر لینک را در Safari در iOS باز می‌کند، پروفایل پیکربندی را نصب می‌کند، پس از آن UDID روی صفحه نمایش داده می‌شود. همچنین UDID را می‌توان از Xcode هنگام اتصال دستگاه به Mac کپی کرد: Window → Devices and Simulators → Identifier.

آیا می‌توان از Ad Hoc Distribution برای انتشار در App Store استفاده کرد؟

خیر، Ad Hoc Distribution فقط برای تست طراحی شده است. برای انتشار در App Store باید App Store Distribution Profile ایجاد کرده و برنامه را به طور مناسب امضا کنید. پروفایل Ad Hoc بررسی App Store Connect را گذرانده نخواهد کرد. قبل از ارسال به App Store حتماً export method را در Xcode یا Fastlane به app-store تغییر دهید.

اگر برنامه Ad Hoc باز نشود چه باید کرد؟

اگر برنامه Ad Hoc باز نمی‌شود، بررسی کنید: آیا گواهی توسعه‌دهنده روی دستگاه مورد اعتماد است (تنظیمات → عمومی → VPN و مدیریت دستگاه)، آیا مدت اعتبار Provisioning Profile منقضی نشده، آیا UDID دستگاه به پروفایل اضافه شده و آیا برنامه با گواهی صحیح امضا شده است. اگر مشکل ادامه داشت، برنامه را حذف کرده و با پروفایل به‌روز شده دوباره نصب کنید.

تفاوت پروفایل Ad Hoc با پروفایل Development چیست؟

Development Profile برای اجرای برنامه‌ها به طور مستقیم از Xcode روی دستگاه‌های متصل طراحی شده است. Ad Hoc Profile — برای توزیع فایل‌های IPA نصب روی دستگاه‌ها بدون Xcode. تفاوت‌های اصلی: Development نیاز به اتصال به Xcode دارد، در حالی که Ad Hoc از نصب OTA از طریق Safari یا Finder استفاده می‌کند. هر دو به ۱۰۰ دستگاه محدود هستند.

خلاصه

  • Ad Hoc Distribution — نصب برنامه‌های iOS روی ۱۰۰ دستگاه بدون App Store برای تست
  • UDID هر دستگاه در Apple Developer Portal ثبت شده و در پروفایل گنجانده می‌شود
  • محدودیت ۱۰۰ دستگاه هر سال در ۱ ژانویه بازنشانی می‌شود
  • TestFlight — جایگزین بدون محدودیت دستگاه، اما با تایید Beta App Review
  • تنظیمات شامل ایجاد Ad Hoc Provisioning Profile و امضای IPA با export method ad-hoc است
  • مدت اعتبار پروفایل — ۱ سال، پس از آن نصب مجدد برنامه‌ها لازم است

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید