我能否在没有UDID的情况下为任何设备分发我的应用程序?

57

我一直在搜索stackoverflow并阅读各种博客,以便回答我的问题:“我能否将我的应用程序分发给某人,而无需获取他的设备UDID?”

我找到的答案都是“不行!您必须拥有UDIDs列表”

但是,我有私人公司告诉我他们曾经安装过应用程序,而不需要向开发人员提供他们的设备UDIDs。开发人员只需向他们发送.ipa文件,他们只需将其拖放到iTunes中即可完成!我很困惑..

他们是如何在没有UDIDs的情况下做到的?(我反对越狱,这不是一个选项)

或者,也许他们在说谎?


为什么你想这样做会帮助我们提供答案。"不" 简短的回答。如果您拥有企业级iOS开发者账户,您可以打包应用程序直接安装到公司任何员工的iOS设备上(受许可证限制)。 - bshirley
你的意思是,我需要获取企业开发者账户,然后就可以打包我的应用程序并在公司内任何设备上分发它?而不需要知道UDIDs吗?! - Almas Adilbek
@AlmasAdilbek 看来我错了。对于企业分发,这是可能的。看看https://dev59.com/Ymw05IYBdhLWcg3wVgWm - 4ndrew
好吧,这很有趣,我不敢相信,周围有这么多答案... - Almas Adilbek
关于你的第一个问题:是的。是的。我现在正在与使用那种设置的客户合作。我们还会检查他们的服务器上是否有最新版本的应用程序。如果他们正在运行旧版本,我们不允许它继续并将其发送到他们内部网络上的链接,他们可以立即安装。只需要支持最新的应用程序。 - bshirley
4个回答

67

"私营公司"。这是线索。

应用商店开发者只能将应用程序分发给已知UDID的设备(最多100个)。这就是我们大多数人使用的100美元计划。我们只能为adhoc分发到我们的100台设备或者发送给苹果创建签名配置文件。([eta:] 或者,现在可以通过新的Apple TestFlight进行限时分发到特定的Apple ID。)

还有企业开发者计划,一个年费为300美元的计划面向企业(目前,任何拥有DUNS号码的企业;以前要求更严格)。企业开发者不能提交到应用商店,但他们可以签署应用程序以安装到任何设备上,而无需知道UDIDs。

企业开发者合同包括一项协议,即不得在未与组织或企业相关联的设备上安装此类应用程序。设备会验证签名证书,并且如果您尝试向公众销售企业签名的应用程序,苹果将会注意到并关闭它。此外,企业预配配置文件每年都会过期,需要使用新的配置文件刷新设备,否则应用程序将停止工作。

[编辑补充:稍后添加] 第三个选择(实际上是第一个的一个功能)是B-2-B 应用商店。我们发现,这对于我们之前为客户设置企业帐户的大多数用户情况更加合适。它与常规应用商店分发几乎相同,唯一的区别是该应用程序不是公开的 - 它仅对您在上传时指定的客户 AppleID 列表可见。这些客户必须使用Apple Business Manager进行注册(免费),然后可以“购买”任意数量的应用程序副本,以兑换码的形式分发到最终用户设备上。

这非常流畅。观看 WWDC 视频 (现在有点过时了,但它将给您提供概要)。B2B 应用程序的成本可以是任何您喜欢的金额,包括 $0。下载和更新使用正常的应用商店机制。如果客户使用Apple Configurator来配置他们的设备,则可以按设备分配兑换码。有一些限制,但它们不是繁琐的。强烈推荐。


1
应用程序如何停止工作?是通过网络连接吗?哪些情况会导致应用程序停止? - Almas Adilbek
1
同样地,当开发者调试安装的应用程序在您的设备上停止工作时:当预配资料过期时,该应用程序将无法启动。 - bshirley
1
@rgeorge 感谢您清晰的回答。您有关于如何使用企业账户的教程吗?苹果所说的“与组织相关联的设备”是什么意思?您认为他们在这方面很严格吗? - Holger Sindbaek
1
关于与它们一起工作,这非常容易 - 就像开发者帐户一样工作,只是您可以创建签名配置文件,这些配置文件将在任何设备上运行。我相信合同规定了组织拥有和控制的设备。至于严格性,我不知道,因为我们从未突破过界限。设备确实会使用苹果验证配置文件证书,因此,如果1000000台设备安装了由50人公司提供的“内部”应用程序,苹果原则上可以注意到并撤销企业成员资格。这将立即防止该应用程序在任何地方运行。不值得冒险。 - rgeorge
非常好的回复。请注意,截至2013年12月,VPP的唯一缺点是它仅在某些国家可用,这些国家恰好排除了一些iOS设备(例如瑞士、瑞典、挪威、丹麦、芬兰),因此现在对我们来说有点无用。希望苹果很快会添加更多国家,但到目前为止,我从他们那里得到了一个死胡同的答案。 - VH-NZZ
显示剩余4条评论

5
使用Apple Developer Testflight可以分发iOS应用程序,无需管理UDIDs。(是的,苹果收购了一家名为Testflight的公司,并没有更改其服务名称)
内部测试
您需要知道测试者的iTunes Apple ID,并且每个应用程序可用的测试版测试者座位有硬性限制。截至2016年,每个应用程序最多有25个测试者,每个测试者最多有10个设备。您需要为测试者分配管理员或开发人员角色。
外部测试
应用程序必须通过审核过程,并且用户数量有限制,最多为2000个。

为了做到这一点,你需要开发者账号对吧?你知道有没有办法在没有拥有100美元账号的情况下分发到不属于自己的设备吗?谢谢! - Andres C
请注意,TestFlight构建仅在60天后到期。这意味着如果您想让用户继续使用您的应用程序,您必须每60天发布一个新版本。接受的答案中提出的其他解决方案对于此类部署更好地集成。 - Hubert Perron

2
您可以使用TestFlight公共链接。 此处是有关如何使用TestFlight公共链接的详细信息。 此处是苹果开发者网站上有关TestFlight公共链接的更多信息。

1
是的,那是未来发生的事情。 - Almas Adilbek

0

有几个服务可以为您完成这项工作,其中之一是TestFlight,它使用rgeorge所描述的企业开发者签名来分发您的应用程序。测试人员甚至不需要使用iTunes将应用程序安装到他们的设备上。


1
将于2015年2月26日关闭:http://thenextweb.com/apps/2015/01/26/apple-close-old-standalone-testflight-beta-testing-service-next-month/ - jujule
@jujule,仅TestFlightApp.com服务将被关闭。TestFlight原生应用程序将替代旧网站。 - Felipe Balduino Cassar
这个答案中的链接已经不再可用,但是好消息是:TestFlight已被苹果收购,并作为App Store Connect的一部分继续运行。自那时以来,使用TestFlight在将iOS应用程序分发到App Store之前进行测试已成为标准。 - Ishita Sinha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接