Ad Hoc Distribution, App Store'da yayınlamadan sınırlı sayıda cihazda test etmek için iOS uygulamalarını dağıtma yöntemidir. Her cihaz, Apple Developer Portal'da benzersiz bir UDID ile kaydedilmelidir, maksimum hesap başına 100 cihaz. Apple Developer Documentation'a (2025) göre, yöntem, App Store denetimi gerektirmeden beta testi ve uygulamaların müşterilere gösterilmesi için kullanılır. Ana sınırlama, fiziksel cihazlara bağlılıktır ve bu da testlerin ölçeklenmesini zorlaştırır.
Önemli Noktalar
Ad Hoc Distribution, tüm Apple Developer Program üyelerinin ($99/yıl) kullanabildiği bir iOS uygulaması dağıtım yöntemidir. Uygulamaların App Store denetiminden geçmeden doğrudan cihazlara yüklenmesine olanak tanır. Ana amaç, yayın öncesi testtir: geliştiriciler, test uzmanları ve müşteriler, resmi yayından önce uygulamayı kendi cihazlarına yükleyebilir.
Ad Hoc Distribution, izin verilen cihaz UDID'lerinin listesini içeren bir Provisioning Profile kullanır. Uygulamayı imzalarken, Xcode veya Fastlane, yalnızca bu listedeki cihazlara yüklenebilecek bir IPA dosyası oluşturur. Her UDID, Apple Developer Portal üzerinden eklenir ve toplam sayı, geliştirici hesabı başına 100 cihazı aşamaz.
Apple'a (2025) göre Ad Hoc Distribution, uygulamanın henüz App Store denetiminden geçmediği ancak bir müşteriye gösterilmesi veya gerçek cihazlarda test edilmesi gerektiği durumlarda yayın öncesi test için talep görmeye devam ediyor. Ancak Apple, büyük ölçekli beta testi için TestFlight kullanılmasını önerir ve Ad Hoc'u küçük gruplar ve özel durumlar için bırakır.
Ad Hoc dağıtımı, OTA (Over-The-Air) kurulumu veya iTunes/Finder aracılığıyla çalışır. Geliştirici, seçilen UDID'lerle bir Ad Hoc Provisioning Profile oluşturur, uygulamayı bu profille imzalar ve IPA dosyasını dışa aktarır. Kullanıcı, uygulamayı Safari üzerinden bir bağlantıyla veya macOS'ta Finder aracılığıyla yükler.
Teknik olarak, Ad Hoc dağıtımı birkaç aşamadan oluşur. İlk olarak, yönetici test cihazlarının UDID'lerini toplar — her UDID, bir iOS cihazı için benzersiz 40 karakterli bir tanımlayıcıdır. Ardından UDID'ler Apple Developer Portal'a eklenir, bir Provisioning Profile oluşturulur ve imzalı bir IPA oluşturulur. Geçerlilik süresi bir Ad Hoc profili için bir yıldır, sonrasında uygulamalar açılmayı durdurur.
# Fastlane — Ad Hoc dağıtımını otomatikleştirin
lane :adhoc do
match(type: "adhoc")
gym(scheme: "MyApp",
export_method: "ad-hoc")
pilot(
distribute_only: true,
devices_file: "./devices.txt"
)
end
Bir Ad Hoc uygulaması yüklemek için kullanıcının, cihazında geliştirici sertifikasına güvenmesi gerekir. Bunun için iOS ayarlarında "Genel" → "VPN ve Cihaz Yönetimi" → "Profil"e gidin ve "Güven"e dokunun. Bu adım olmadan uygulama başlatılmaz.
UDID (Unique Device Identifier), her iOS cihazı için benzersiz bir tanımlayıcıdır. Ad Hoc dağıtımı için, tüm test cihazlarının UDID'lerini toplamanız ve Apple Developer Portal'a eklemeniz gerekir. Maksimum, geliştirici hesabı başına yılda 100 cihazdır. Bu sınır, her uygulama için ayrı ayrı değil, geliştiricinin tüm uygulamaları için geçerlidir.
| UDID alma yöntemi | Zorluk | Not |
|---|---|---|
| Safari ile | Düşük | UDID'yi çıkarmak için bir yapılandırma profili yükleyin |
| Xcode ile | Orta | Cihazı bir Mac'e bağlayın ve Xcode'dan UDID'yi kopyalayın |
| MDM ile | Yüksek | MDM çözümü, kurumsal cihazların UDID'lerini toplayabilir |
| iTunes ile | Orta | Eski yöntem — iTunes yeni macOS sürümlerinde desteklenmiyor |
100 cihaz sınırı, takvim yılının sonunda sıfırlanır — sıfırlama 1 Ocak'ta gerçekleşir. Ancak Apple, 10 000'e kadar harici test uzmanını destekleyen TestFlight'ın büyük ölçekli testler için kullanılmasını önerir. Ad Hoc Distribution, 2022'den beri, uygulamanın henüz Beta App Review'dan geçmediği veya testlerin orijinal IPA dosyasına erişim gerektirdiği durumlarda geçerliliğini korur.
Kurulum, Apple Developer Portal ve Xcode üzerinden gerçekleştirilir. Süreç, cihaz kaydı, Provisioning Profile oluşturma, uygulamayı imzalama ve dağıtım için IPA'yı dışa aktarmayı içerir. Ekip geliştirmesi için Fastlane veya CI/CD üzerinden otomasyon kullanılması önerilir.
Süreci basitleştirmek için dağıtım hizmetleri kullanılır: Firebase App Distribution, Microsoft App Center veya BuddyBuild. Bu hizmetler UDID'leri otomatik olarak yönetir, Ad Hoc profilleri oluşturur ve test uzmanlarına davetiyeler gönderir. Firebase App Distribution ayrıca Gradle veya Fastlane aracılığıyla CI/CD boru hatlarıyla entegre olur.
Önemli bir nüans — UDID güncellemesi. Profile yeni bir cihaz eklemeniz gerekiyorsa, Provisioning Profile'i yeniden oluşturmanız ve uygulamayı yeniden imzalamanız gerekir. Uygulamayı zaten yüklemiş olan cihazlar, profilin süresi dolana kadar (1 yıl) kullanmaya devam edecektir. Bundan sonra, yeni bir profille yeniden yükleme gerekir.
Ad Hoc Distribution, App Store olmadan iOS uygulamaları dağıtmanın üç yönteminden yalnızca biridir. TestFlight (ücretsiz, 10 000'e kadar harici test uzmanı) ve Enterprise Distribution (cihaz sınırı yok, kurumsal uygulamalar için) farklı sınırlamalar ve gereksinimlerle benzer görevleri çözer.
TestFlight, Apple'ın beta testi için tercih ettiği yöntemdir. UDID toplama gerektirmez, 100 dahili ve 10 000 harici test uzmanını destekler, sürümleri otomatik olarak yönetir ve kurulum analitiği sağlar. Ancak TestFlight, harici test uzmanları için Beta App Review'den geçmeyi gerektirir ve bu 1–2 gün sürebilir. Ad Hoc Distribution hiçbir denetim gerektirmez.
Enterprise Distribution, sınırsız sayıda cihazla kurumsal uygulamalar için uygundur, ancak bir D-U-N-S numarasıyla Apple Developer Enterprise Program'a ($299/yıl) kayıt gerektirir. Ad Hoc, standart programın ($99/yıl) tüm üyeleri tarafından kullanılabilir ve şirketin yasal olarak doğrulanmasını gerektirmez. Küçük ekipler ve projeler için Ad Hoc, App Store olmadan dağıtımın en basit yolu olmaya devam etmektedir.
Sıkça Sorulan Sorular
Ad Hoc Distribution için maksimum cihaz sayısı, Apple geliştirici hesabı başına 100'dür. Sınır, her uygulama için ayrı ayrı değil, geliştiricinin tüm uygulamaları için ortaktır. Sıfırlama her yıl 1 Ocak'ta gerçekleşir. Daha fazla sayıda cihazda test yapmak için TestFlight veya Enterprise Distribution (kurumsal uygulamalar için) kullanın.
Cihazın UDID'si, udid.io veya install.appcenter.ms gibi web hizmetleri aracılığıyla alınabilir. Kullanıcı, iOS'ta Safari'de bir bağlantı açar, bir yapılandırma profili yükler ve UDID ekranda görüntülenir. Alternatif olarak, cihaz bir Mac'e bağlandığında Xcode'dan UDID kopyalanabilir: Window → Devices and Simulators → Identifier.
Hayır, Ad Hoc Distribution yalnızca test içindir. App Store'da yayınlamak için bir App Store Distribution Profile oluşturmanız ve uygulamayı buna göre imzalamanız gerekir. Bir Ad Hoc profili, App Store Connect doğrulamasından geçmez. App Store'a göndermeden önce Xcode veya Fastlane'de export method'u app-store olarak değiştirdiğinizden emin olun.
Ad Hoc uygulaması açılmazsa şunları kontrol edin: geliştirici sertifikası cihazda güvenilmiş mi (Ayarlar → Genel → VPN ve Cihaz Yönetimi), Provisioning Profile'in süresi dolmamış mı, cihazın UDID'si profile eklenmiş mi ve uygulama doğru sertifika ile imzalanmış mı. Sorun devam ederse, uygulamayı silin ve güncellenmiş bir profille yeniden yükleyin.
Development Profile, bağlı cihazlarda doğrudan Xcode'dan uygulama çalıştırmak içindir. Ad Hoc Profile, Xcode olmadan cihazlara yüklenebilir IPA dosyalarını dağıtmak içindir. Temel farklar: Development, Xcode'a bağlantı gerektirirken, Ad Hoc Safari veya Finder aracılığıyla OTA kurulumu kullanır. Her ikisi de 100 cihazla sınırlıdır.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun