Ad Hoc Distribution — nó là gì, giới hạn kiểm thử iOS

Tác giả: IT Sectr Đã đăng: 2026-06-06 Thời gian đọc: 9 phút

Ad Hoc Distribution là phương pháp phân phối ứng dụng iOS để kiểm thử trên một số lượng thiết bị giới hạn mà không cần xuất bản lên App Store. Mỗi thiết bị phải được đăng ký trên Apple Developer Portal bằng UDID duy nhất, tối đa 100 thiết bị cho mỗi tài khoản. Theo Tài liệu dành cho nhà phát triển Apple (2025), phương pháp này được sử dụng để kiểm thử beta và trình diễn ứng dụng cho khách hàng mà không cần kiểm duyệt App Store. Hạn chế chính là sự ràng buộc với thiết bị vật lý, gây khó khăn cho việc mở rộng quy mô kiểm thử.

Những điểm chính

  • Ad Hoc Distribution — cài đặt ứng dụng iOS trên 100 thiết bị đã đăng ký mà không cần App Store
  • UDID của mỗi thiết bị được thêm vào Apple Developer Portal và đưa vào hồ sơ
  • Hiệu lực của hồ sơ Ad Hoc là 1 năm, sau đó cần cài đặt lại ứng dụng
  • Khác biệt với Enterprise — Ad Hoc giới hạn 100 thiết bị và không yêu cầu số D-U-N-S
  • TestFlight — một giải pháp thay thế Ad Hoc không giới hạn thiết bị cho kiểm thử beta

Ad Hoc Distribution là gì?

Ad Hoc Distribution là phương pháp phân phối ứng dụng iOS dành cho tất cả thành viên của Apple Developer Program ($99/năm). Nó cho phép cài đặt ứng dụng trực tiếp trên thiết bị mà không cần thông qua kiểm duyệt App Store. Mục đích chính là kiểm thử trước khi phát hành: nhà phát triển, người kiểm thử và khách hàng có thể cài đặt ứng dụng trên thiết bị của họ trước khi phát hành chính thức.

Ad Hoc Distribution sử dụng Provisioning Profile bao gồm danh sách UDID thiết bị được phép. Ký ứng dụng, Xcode hoặc Fastlane tạo tệp IPA chỉ có thể cài đặt trên các thiết bị trong danh sách này. Mỗi UDID được thêm qua Apple Developer Portal và tổng số không thể vượt quá 100 thiết bị cho mỗi tài khoản nhà phát triển.

Theo Apple (2025), Ad Hoc Distribution vẫn được ưa chuộng cho kiểm thử trước khi phát hành khi ứng dụng chưa vượt qua kiểm duyệt App Store nhưng đã cần trình diễn cho khách hàng hoặc kiểm thử trên thiết bị thực. Tuy nhiên, Apple khuyến nghị sử dụng TestFlight cho kiểm thử beta quy mô lớn, để Ad Hoc cho các nhóm nhỏ và trường hợp đặc biệt.

Phân phối Ad Hoc hoạt động như thế nào?

Phân phối Ad Hoc hoạt động thông qua cài đặt OTA (Over-The-Air) hoặc qua iTunes/Finder. Nhà phát triển tạo Ad Hoc Provisioning Profile với các UDID đã chọn, ký ứng dụng bằng hồ sơ này và xuất tệp IPA. Người dùng cài đặt ứng dụng qua Safari bằng liên kết hoặc qua Finder trên macOS.

Về mặt kỹ thuật, phân phối Ad Hoc bao gồm nhiều giai đoạn. Đầu tiên, quản trị viên thu thập UDID của các thiết bị kiểm thử — mỗi UDID là một định danh duy nhất gồm 40 ký tự cho thiết bị iOS. Sau đó, UDID được thêm vào Apple Developer Portal, Provisioning Profile được tạo và IPA đã ký được tạo. Hiệu lực của hồ sơ Ad Hoc là một năm, sau đó ứng dụng ngừng mở.

ruby
# Fastlane — tự động hóa phân phối Ad Hoc
lane :adhoc do
    match(type: "adhoc")
    gym(scheme: "MyApp",
        export_method: "ad-hoc")
    pilot(
        distribute_only: true,
        devices_file: "./devices.txt"
    )
end

Để cài đặt ứng dụng Ad Hoc, người dùng phải tin cậy chứng chỉ nhà phát triển trên thiết bị của họ. Để thực hiện, trong cài đặt iOS vào "Cài đặt chung" → "VPN và Quản lý thiết bị" → "Hồ sơ" và nhấn "Tin cậy". Nếu không có bước này, ứng dụng sẽ không khởi chạy.

Đăng ký UDID và giới hạn 100 thiết bị

UDID (Unique Device Identifier) là định danh duy nhất cho mỗi thiết bị iOS. Để phân phối Ad Hoc, bạn cần thu thập UDID của tất cả thiết bị kiểm thử và thêm chúng vào Apple Developer Portal. Tối đa là 100 thiết bị cho mỗi tài khoản nhà phát triển mỗi năm. Giới hạn này áp dụng cho tất cả ứng dụng của nhà phát triển, không phải cho từng ứng dụng riêng lẻ.

Phương pháp lấy UDIDĐộ khóGhi chú
Qua SafariThấpCài đặt hồ sơ cấu hình để trích xuất UDID
Qua XcodeTrung bìnhKết nối thiết bị với Mac và sao chép UDID từ Xcode
Qua MDMCaoGiải pháp MDM có thể thu thập UDID của thiết bị doanh nghiệp
Qua iTunesTrung bìnhPhương pháp cũ — iTunes không còn được hỗ trợ trên macOS mới

Giới hạn 100 thiết bị được đặt lại vào cuối năm dương lịch — việc đặt lại diễn ra vào ngày 1 tháng 1. Tuy nhiên, Apple khuyến nghị sử dụng TestFlight cho kiểm thử quy mô lớn, hỗ trợ lên đến 10 000 người kiểm thử bên ngoài. Ad Hoc Distribution từ năm 2022 vẫn phù hợp cho các trường hợp ứng dụng chưa vượt qua Beta App Review hoặc khi kiểm thử yêu cầu truy cập vào tệp IPA gốc.

Thiết lập Ad Hoc Distribution

Thiết lập Ad Hoc Distribution được thực hiện qua Apple Developer Portal và Xcode. Quy trình bao gồm đăng ký thiết bị, tạo Provisioning Profile, ký ứng dụng và xuất IPA để phân phối. Đối với phát triển nhóm, nên sử dụng Fastlane hoặc tự động hóa qua CI/CD.

  1. Thu thập UDID của thiết bị kiểm thử qua udid.io hoặc hồ sơ cấu hình
  2. Thêm UDID vào Apple Developer Portal → Certificates, Identifiers & Profiles → Devices
  3. Tạo Ad Hoc Provisioning Profile cho Bundle ID cần thiết, bao gồm các thiết bị đã đăng ký
  4. Ký ứng dụng bằng hồ sơ Ad Hoc trong Xcode: Product → Archive → Distribute Ad Hoc
  5. Xuất tệp IPA và phân phối liên kết qua máy chủ OTA hoặc Firebase App Distribution
  6. Người dùng: mở liên kết trên thiết bị, cài đặt ứng dụng, tin cậy chứng chỉ trong cài đặt

Để đơn giản hóa quy trình, dịch vụ phân phối được sử dụng: Firebase App Distribution, Microsoft App Center hoặc BuddyBuild. Các dịch vụ này tự động quản lý UDID, tạo hồ sơ Ad Hoc và gửi lời mời cho người kiểm thử. Firebase App Distribution cũng tích hợp với đường ống CI/CD qua Gradle hoặc Fastlane.

Một sắc thái quan trọng — cập nhật UDID. Nếu bạn cần thêm thiết bị mới vào hồ sơ, bạn sẽ phải tạo lại Provisioning Profile và ký lại ứng dụng. Các thiết bị đã cài đặt ứng dụng sẽ tiếp tục sử dụng cho đến khi hồ sơ hết hạn (1 năm). Sau đó, cài đặt lại với hồ sơ mới là cần thiết.

Ad Hoc so với TestFlight và Enterprise

Ad Hoc Distribution chỉ là một trong ba phương pháp phân phối ứng dụng iOS mà không cần App Store. TestFlight (miễn phí, lên đến 10 000 người kiểm thử bên ngoài) và Enterprise Distribution (không giới hạn thiết bị, dành cho ứng dụng doanh nghiệp) giải quyết các tác vụ tương tự với các giới hạn và yêu cầu khác nhau.

TestFlight là phương pháp ưa thích của Apple cho kiểm thử beta. Nó không yêu cầu thu thập UDID, hỗ trợ lên đến 100 người kiểm thử nội bộ và 10 000 người bên ngoài, tự động quản lý phiên bản và cung cấp phân tích cài đặt. Tuy nhiên, TestFlight yêu cầu vượt qua Beta App Review cho người kiểm thử bên ngoài, có thể mất 1–2 ngày. Ad Hoc Distribution không yêu cầu kiểm duyệt nào.

Enterprise Distribution phù hợp cho ứng dụng doanh nghiệp với số lượng thiết bị không giới hạn, nhưng yêu cầu đăng ký Apple Developer Enterprise Program ($299/năm) với số D-U-N-S. Ad Hoc có sẵn cho tất cả thành viên của chương trình tiêu chuẩn ($99/năm) và không yêu cầu xác minh pháp lý công ty. Đối với các nhóm nhỏ và dự án, Ad Hoc vẫn là cách đơn giản nhất để phân phối mà không cần App Store.

Câu hỏi thường gặp

Có thể thêm bao nhiêu thiết bị vào Ad Hoc Distribution?

Số lượng thiết bị tối đa cho Ad Hoc Distribution là 100 cho mỗi tài khoản nhà phát triển Apple. Giới hạn được chia sẻ cho tất cả ứng dụng của nhà phát triển, không phải cho từng ứng dụng riêng lẻ. Việc đặt lại diễn ra vào ngày 1 tháng 1 hàng năm. Để kiểm thử trên số lượng thiết bị lớn hơn, hãy sử dụng TestFlight hoặc Enterprise Distribution (cho ứng dụng doanh nghiệp).

Làm thế nào để biết UDID của thiết bị cho Ad Hoc?

UDID của thiết bị có thể được lấy qua các dịch vụ web như udid.io hoặc install.appcenter.ms. Người dùng mở liên kết trong Safari trên iOS, cài đặt hồ sơ cấu hình, sau đó UDID hiển thị trên màn hình. Ngoài ra, UDID có thể được sao chép từ Xcode khi kết nối thiết bị với Mac: Window → Devices and Simulators → Identifier.

Có thể sử dụng Ad Hoc Distribution để xuất bản lên App Store không?

Không, Ad Hoc Distribution chỉ dành cho kiểm thử. Để xuất bản lên App Store, bạn cần tạo App Store Distribution Profile và ký ứng dụng phù hợp. Hồ sơ Ad Hoc sẽ không vượt qua xác thực App Store Connect. Trước khi gửi lên App Store, hãy đảm bảo chuyển export method sang app-store trong Xcode hoặc Fastlane.

Phải làm gì nếu ứng dụng Ad Hoc không mở?

Nếu ứng dụng Ad Hoc không mở, hãy kiểm tra: chứng chỉ nhà phát triển đã được tin cậy trên thiết bị (Cài đặt → Cài đặt chung → VPN và Quản lý thiết bị), Provisioning Profile chưa hết hạn, UDID của thiết bị đã được thêm vào hồ sơ và ứng dụng đã được ký bằng chứng chỉ chính xác. Nếu sự cố vẫn tiếp diễn, hãy xóa ứng dụng và cài đặt lại với hồ sơ đã cập nhật.

Hồ sơ Ad Hoc khác gì so với hồ sơ Development?

Development Profile dành để chạy ứng dụng trực tiếp từ Xcode trên các thiết bị đã kết nối. Ad Hoc Profile dành để phân phối tệp IPA có thể cài đặt trên thiết bị mà không cần Xcode. Sự khác biệt chính: Development yêu cầu kết nối với Xcode, trong khi Ad Hoc sử dụng cài đặt OTA qua Safari hoặc Finder. Cả hai đều giới hạn 100 thiết bị.

Tóm tắt

  • Ad Hoc Distribution — cài đặt ứng dụng iOS trên 100 thiết bị mà không cần App Store để kiểm thử
  • UDID của mỗi thiết bị được đăng ký trên Apple Developer Portal và đưa vào hồ sơ
  • Giới hạn 100 thiết bị được đặt lại hàng năm vào ngày 1 tháng 1
  • TestFlight — giải pháp thay thế không giới hạn thiết bị nhưng có kiểm duyệt Beta App Review
  • Thiết lập bao gồm tạo Ad Hoc Provisioning Profile và ký IPA với export method ad-hoc
  • Hiệu lực hồ sơ — 1 năm, sau đó ứng dụng cần được cài đặt lại

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm