Ad Hoc Distribution은 App Store에 게시하지 않고 제한된 수의 기기에서 테스트하기 위한 iOS 애플리케이션 배포 방법입니다. 각 기기는 Apple Developer Portal에 고유한 UDID로 등록되어야 하며, 계정당 최대 100대까지 가능합니다. Apple Developer Documentation(2025)에 따르면 이 방법은 App Store 심사 없이 베타 테스트 및 클라이언트에게 애플리케이션을 시연하는 데 사용됩니다. 주요 제한 사항은 물리적 기기에 바인딩되어 테스트 확장이 어렵다는 점입니다.
핵심 요점
Ad Hoc Distribution은 모든 Apple Developer Program 회원($99/년)이 사용할 수 있는 iOS 애플리케이션 배포 방법입니다. App Store 심사 없이 기기에 직접 앱을 설치할 수 있습니다. 주요 목적은 출시 전 테스트입니다. 개발자, 테스터 및 클라이언트는 공식 출시 전에 자신의 기기에 앱을 설치할 수 있습니다.
Ad Hoc Distribution은 허용된 기기 UDID 목록이 포함된 Provisioning Profile을 사용합니다. 앱에 서명할 때 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를 통해 작동합니다. 개발자는 선택한 UDID로 Ad Hoc Provisioning Profile을 만들고, 이 프로파일로 앱에 서명하고, IPA 파일을 내보냅니다. 사용자는 Safari의 링크를 통해 또는 macOS의 Finder를 통해 앱을 설치합니다.
기술적으로 Ad Hoc 배포는 여러 단계를 포함합니다. 먼저 관리자가 테스트 기기의 UDID를 수집합니다. 각 UDID는 iOS 기기의 고유한 40자 식별자입니다. 그런 다음 UDID를 Apple Developer Portal에 추가하고, Provisioning Profile을 만들고, 서명된 IPA를 생성합니다. 유효 기간은 Ad Hoc 프로파일의 경우 1년이며, 이후 앱이 열리지 않습니다.
# 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에 연결하고 Xcode에서 UDID 복사 |
| MDM을 통해 | 높음 | MDM 솔루션이 회사 기기의 UDID를 수집할 수 있음 |
| iTunes를 통해 | 중간 | 레거시 방식 — 새 macOS에서는 iTunes가 지원되지 않음 |
100대 제한은 역년 말에 초기화됩니다 — 초기화는 1월 1일에 이루어집니다. 그러나 Apple은 최대 10,000명의 외부 테스터를 지원하는 TestFlight를 대규모 테스트에 사용할 것을 권장합니다. Ad Hoc Distribution은 2022년 이후 앱이 아직 Beta App Review를 통과하지 못했거나 테스트에 원본 IPA 파일에 대한 액세스가 필요한 경우에 여전히 유효합니다.
설정은 Apple Developer Portal과 Xcode를 통해 수행됩니다. 프로세스에는 기기 등록, Provisioning Profile 생성, 앱 서명, 배포용 IPA 내보내기가 포함됩니다. 팀 개발의 경우 Fastlane 또는 CI/CD를 통한 자동화를 사용하는 것이 좋습니다.
프로세스를 간소화하기 위해 배포 서비스를 사용합니다: Firebase App Distribution, Microsoft App Center 또는 BuddyBuild. 이러한 서비스는 UDID를 자동으로 관리하고, Ad Hoc 프로파일을 만들고, 테스터에게 초대장을 보냅니다. Firebase App Distribution은 Gradle 또는 Fastlane을 통해 CI/CD 파이프라인과도 통합됩니다.
중요한 뉘앙스 — UDID 업데이트. 프로파일에 새 기기를 추가해야 하는 경우 Provisioning Profile을 다시 만들고 앱에 다시 서명해야 합니다. 이미 앱을 설치한 기기는 프로파일 만료(1년)까지 계속 사용할 수 있습니다. 그 후에는 새 프로파일로 재설치가 필요합니다.
Ad Hoc Distribution은 App Store 없이 iOS 앱을 배포하는 세 가지 방법 중 하나일 뿐입니다. TestFlight(무료, 최대 10,000명의 외부 테스터) 및 Enterprise Distribution(기기 제한 없음, 엔터프라이즈 앱용)은 각기 다른 제한 사항 및 요구 사항으로 관련 작업을 해결합니다.
TestFlight는 Apple이 베타 테스트에 선호하는 방법입니다. UDID 수집이 필요 없고, 최대 100명의 내부 테스터와 10,000명의 외부 테스터를 지원하며, 버전을 자동으로 관리하고 설치 분석을 제공합니다. 그러나 TestFlight는 외부 테스터를 위해 Beta App Review를 통과해야 하며, 이는 1~2일이 소요될 수 있습니다. Ad Hoc Distribution은 심사가 전혀 필요하지 않습니다.
Enterprise Distribution은 엔터프라이즈 앱에 적합하며 기기 수에 제한이 없지만, D-U-N-S 번호를 사용한 Apple Developer Enterprise Program($299/년) 등록이 필요합니다. Ad Hoc은 표준 프로그램($99/년)의 모든 회원이 사용할 수 있으며 회사의 법적 확인이 필요하지 않습니다. 소규모 팀과 프로젝트의 경우 Ad Hoc은 App Store 없이 배포하는 가장 간단한 방법으로 남아 있습니다.
자주 묻는 질문
Ad Hoc Distribution의 최대 기기 수는 Apple 개발자 계정당 100대입니다. 제한은 각 앱별이 아니라 개발자의 모든 앱에 공유됩니다. 초기화는 매년 1월 1일에 이루어집니다. 더 많은 기기에서 테스트하려면 TestFlight 또는 Enterprise Distribution(엔터프라이즈 앱용)을 사용하세요.
기기의 UDID는 udid.io 또는 install.appcenter.ms와 같은 웹 서비스를 통해 얻을 수 있습니다. 사용자가 iOS의 Safari에서 링크를 열고 구성 프로파일을 설치하면 UDID가 화면에 표시됩니다. 또는 Mac에 기기를 연결할 때 Xcode에서 UDID를 복사할 수 있습니다: Window → Devices and Simulators → Identifier.
아니요, Ad Hoc Distribution은 테스트 전용입니다. App Store에 게시하려면 App Store Distribution Profile을 만들고 그에 따라 앱에 서명해야 합니다. Ad Hoc 프로파일은 App Store Connect 검증을 통과하지 못합니다. App Store에 제출하기 전에 Xcode 또는 Fastlane에서 export method를 app-store로 전환해야 합니다.
Ad Hoc 앱이 열리지 않으면 다음을 확인하세요: 기기에서 개발자 인증서가 신뢰되는지(설정 → 일반 → VPN 및 기기 관리), Provisioning Profile이 만료되지 않았는지, 기기 UDID가 프로파일에 추가되었는지, 앱이 올바른 인증서로 서명되었는지. 문제가 지속되면 앱을 삭제하고 업데이트된 프로파일로 다시 설치하세요.
Development Profile은 연결된 기기에서 Xcode에서 직접 앱을 실행하기 위한 것입니다. Ad Hoc Profile은 Xcode 없이 기기에 설치 가능한 IPA 파일을 배포하기 위한 것입니다. 주요 차이점: Development는 Xcode 연결이 필요하지만, Ad Hoc은 Safari 또는 Finder를 통한 OTA 설치를 사용합니다. 둘 다 100대로 제한됩니다.
요약
턴키 방식의 모바일 애플리케이션을 개발해 드립니다
IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.