Ad Hoc Distribution——是什么、iOS测试限制

作者: IT Sectr 发布日期: 2026-06-06 阅读时间: 9 分钟

Ad Hoc Distribution是一种在有限数量的设备上进行iOS应用测试而无需发布到App Store的分发方法。每个设备必须通过唯一的UDID在Apple Developer Portal中注册,每个账户最多100台设备。根据Apple Developer Documentation(2025年),该方法用于Beta测试和向客户演示应用,而无需App Store审核。主要限制是绑定到物理设备,这使测试扩展变得复杂。

要点

  • Ad Hoc Distribution——在100台已注册设备上安装iOS应用而无需App Store
  • 每个设备的UDID被添加到Apple Developer Portal并包含在配置文件中
  • Ad Hoc配置文件的有效期——1年,之后需要重新安装应用
  • 与Enterprise的区别——Ad Hoc限制为100台设备,不需要D-U-N-S号码
  • TestFlight——Ad Hoc的替代方案,Beta测试没有设备数量限制

什么是Ad Hoc Distribution?

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进行大规模Beta测试,而将Ad Hoc保留用于小团体和特殊情况。

Ad Hoc分发如何工作?

Ad Hoc分发通过OTA(Over-The-Air)安装机制或通过iTunes/Finder工作。开发者使用选定的UDID创建Ad Hoc Provisioning Profile,使用此配置文件签署应用并导出IPA文件。用户通过Safari的链接或通过macOS上的Finder安装应用。

从技术上讲,Ad Hoc Distribution包括几个阶段。首先,管理员收集测试设备的UDID——每个UDID是iOS设备的唯一40字符标识符。然后,将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注册和100台设备限制

UDID(Unique Device Identifier)是每个iOS设备的唯一标识符。对于Ad Hoc Distribution,需要收集所有测试设备的UDID并将其添加到Apple Developer Portal中。每个开发者账户每年最多100台设备。此限制适用于开发者的所有应用,而不是每款应用单独计算。

获取UDID的方法难度备注
通过Safari安装配置文件以提取UDID
通过Xcode将设备连接到Mac并从Xcode复制UDID
通过MDMMDM解决方案可以收集企业设备的UDID
通过iTunes过时的方法——新的macOS不再支持iTunes

100台设备的限制在日历年度结束时重置——重置发生在每年1月1日。然而,Apple建议大规模测试使用TestFlight,它支持多达10,000名外部测试人员。自2022年以来,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.io或配置文件收集测试设备的UDID
  2. 在Apple Developer Portal → Certificates, Identifiers & Profiles → Devices中添加UDID
  3. 为所需的Bundle ID创建Ad Hoc Provisioning Profile,包括已注册的设备
  4. 在Xcode中使用Ad Hoc配置文件签署应用: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还通过Gradle或Fastlane与CI/CD流水线集成。

一个重要细节——更新UDID。如果需要向配置文件中添加新设备,则需要重新创建Provisioning Profile并重新签署应用。已安装应用的设备将继续使用,直到配置文件过期(1年)。之后需要使用新配置文件重新安装

Ad Hoc与TestFlight和Enterprise对比

Ad Hoc Distribution只是三种无需App Store的iOS应用分发方式之一。TestFlight(免费,最多10,000名外部测试人员)和Enterprise Distribution(无设备限制,适用于企业应用)用不同的限制和要求解决类似的任务。

TestFlight是Apple首选的Beta测试方法。它不需要收集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可以添加多少台设备?

Ad Hoc Distribution的最大设备数量是每个Apple开发者账户100台。该限制适用于开发者的所有应用,而不是每款应用单独计算。每年1月1日重置。要在更多设备上进行测试,请使用TestFlight或Enterprise Distribution(适用于企业应用)。

如何获取Ad Hoc使用的设备UDID?

设备的UDID可以通过网络服务如udid.io或install.appcenter.ms获取。用户在iOS的Safari中打开链接,安装配置文件,之后UDID会显示在屏幕上。或者,在将设备连接到Mac时,可以从Xcode复制UDID: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之前,请确保在Xcode或Fastlane中将export method更改为app-store。

如果Ad Hoc应用无法打开怎么办?

如果Ad Hoc应用无法打开,请检查:设备是否信任开发者证书(设置→通用→VPN与设备管理),Provisioning Profile是否未过期,设备的UDID是否已添加到配置文件中,以及应用是否使用正确的证书签署。如果问题仍然存在,请删除应用并使用更新后的配置文件重新安装。

Ad Hoc配置文件与Development配置文件有何不同?

Development Profile用于直接从Xcode在已连接的设备上运行应用。Ad Hoc Profile——用于在没有Xcode的设备上分发IPA安装文件。主要区别:Development需要连接到Xcode,而Ad Hoc通过Safari或Finder使用OTA安装。两者都限制为100台设备。

总结

  • Ad Hoc Distribution——在100台设备上无需App Store安装iOS应用进行测试
  • 每个设备的UDID在Apple Developer Portal中注册并包含在配置文件中
  • 限制100台设备每年1月1日重置
  • TestFlight——无设备限制的替代方案,但需要Beta App Review审核
  • 设置包括创建Ad Hoc Provisioning Profile和使用export method ad-hoc签署IPA
  • 配置文件的有效期——1年,之后需要重新安装应用

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读