我可以为没有 UDID 的任何设备分发我的应用程序吗?

Posted

技术标签:

【中文标题】我可以为没有 UDID 的任何设备分发我的应用程序吗?【英文标题】:Can I distribute my App for any device without UDID? 【发布时间】:2012-02-08 10:53:17 【问题描述】:

我一直在搜索 ***,阅读各种博客以回答我的问题“我可以将我的应用分发给某人,而无需获取他的设备 UDID?” 我找到的答案都是关于“不!您必须拥有 UDID 列表” 但是,我有人(私营公司)告诉我,他们过去常常安装应用程序而不将他们的设备 UDID 提供给开发人员。开发者过去常常给他们发送.ipa 文件,他们只是将它拖放到iTunes 中,就这样!我头晕.. 他们是通过什么方式在没有 UDID 的情况下做到的? (我反对越狱,这不是选项) 或者,也许他们在撒谎?

【问题讨论】:

您为什么要这样做将帮助我们提供答案。 “不”简短的回答。如果您有企业 ios 开发者帐户,则可以打包应用程序,直接安装到公司任何员工的任何 iOS 设备(受许可证限制)上。 您的意思是,我必须获得企业开发人员帐户,然后我才能打包我的应用程序并将其分发给我公司的任何设备?不知道 UDID?! @AlmasAdilbek 看来我错了。似乎对于企业分布来说是可能的。看***.com/questions/7306441/… 嗯,好笑,我都不敢相信,周围这么多答案…… 回复:您的第一个问题:是的。是的。我现在正在使用该设置与客户合作。我们还会检查他们的服务器以获取该应用程序的最新版本。如果他们正在运行旧副本,我们不会让它继续运行并将其发送到他们的 Intranet 上的链接,他们可以立即安装。只需支持最新的应用即可。 【参考方案1】:

“私人公司”。有线索。

应用商店开发者只能将应用分发到(最多 100 个)具有已知 UDID 的设备。那是the $100 plan most of us have。我们只能创建签名配置文件,以便临时分发到我们的 100 台设备,或发送给 Apple。 ([eta:] 或者,现在,通过新的Apple TestFlight 对特定 AppleID 进行限时分发。)

还有enterprise developer program,每年300美元的计划对企业开放(目前,任何有DUNS号码的企业;过去要求更严格。)企业开发者不能提交到应用商店,但他们可以在不知道 UDID 的情况下签署应用程序以安装到任何设备上。

企业开发者合同包含一项协议,即不在与组织或企业关联的设备上安装此类应用。设备确实会向 Apple 验证签名证书,因此如果您尝试向公众出售企业签名的应用程序,Apple 会注意到并关闭您。此外,企业配置文件每年都会过期,因此必须使用新配置文件更新设备,否则应用程序将停止工作。

[稍后编辑添加:] 第三个非常棒的选项(实际上只是第一个的一个功能)是B-2-B App Store. 我们发现它更适合我们之前为客户设置企业帐户的大多数用户案例。它的工作原理与常规应用商店分发几乎相同,只是该应用不公开 - 它仅对您(开发人员)在上传时指定的客户端 AppleID 列表可见。那些必须注册Apple Business Manager(它是免费的)的客户然后可以以兑换代码的形式“购买”任意数量的应用程序副本,并将它们分发到最终用户设备,但方便。

非常流畅。观看上面的WWDC video(现在有点过时了,但它会给你要点)。 B2B 应用程序可能会花费您喜欢的任何费用,包括 0 美元。下载和更新使用正常的应用商店机制。如果客户 uses Apple Configurator 配置其设备,则可以通过设备而不是 AppleID 分配兑换代码。有一些限制,但它们并不繁重。强烈推荐。

【讨论】:

应用程序如何停止工作?通过互联网连接?哪些情况会导致应用停止? 与开发人员调试安装的应用程序停止在您的设备上运行的方式相同:当配置文件过期时,应用程序将无法启动。 @rgeorge 感谢您的明确回答。您有关于如何使用企业帐户的教程吗? Apple 对“与组织关联的设备”是什么意思?你认为他们对此很严格吗? 与他们合作非常简单 - 就像开发者帐户一样工作,只是您可以制作可在任何设备上运行的签名配置文件。我相信合同规定了组织拥有和控制的设备。至于严格性,我不知道,因为我们从未突破界限。设备确实会与 Apple 验证配置文件证书,因此如果 1000000 台设备安装了一家拥有 50 人的公司的“内部”应用程序,Apple 原则上可以通知并撤销企业会员资格。这将立即阻止应用程序在任何地方运行。不值得冒险。 很好的回复。请注意,截至 2013 年 12 月,VPP 的唯一缺点是它仅适用于恰好排除了一些(非常)高密度 iOS 设备的国家(瑞士、瑞典、挪威、丹麦、芬兰)例如)所以它现在对我们来说有点没用。希望 Apple 能尽快添加国家/地区,但到目前为止,我从他们那里得到了一个死胡同。【参考方案2】:

可以使用Apple Developer Testflight(是的,Apple 收购了一家名为 Testflight 的公司并且没有重命名其服务)来分发 iOS 应用程序,而无需管理 UDID。

内部测试

您确实需要了解测试人员是否使用了 Apple ID并且每个应用程序的可用 Beta 测试人员席位存在硬性限制。截至 2016 年,共有 25 名测试人员,每人最多 10 台设备。您需要为测试人员分配管理员或开发人员角色。

外部测试

应用必须通过审核流程,并且有 2000 名用户的限制。

【讨论】:

为了做到这一点,您需要开发帐户对吗?您知道没有 100 美元帐户的任何方法可以分发到不是我的设备吗?谢谢! 请注意,TestFlight 构建仅在 60 天后过期。这意味着如果您希望您的用户继续使用您的应用程序,您必须每 60 天发布一次新版本。已接受答案中提出的其他解决方案可以更好地集成到此类部署中。【参考方案3】:

您可以使用 TestFlight 公共链接。

https://medium.com/nsistanbul/testflight-public-link-ile-beta-testçileri-kolayca-davet-et-d452886b64d8

https://developer.apple.com/news/?id=09262018a

【讨论】:

是的,那是将来发生的事情)【参考方案4】:

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

【讨论】:

将于 2015 年 2 月 26 日关闭:thenextweb.com/apps/2015/01/26/… @jujule only TestFlightApp.com 服务将被关闭。 TestFlight 原生应用将替代旧网站。 此答案中的链接不再可用,但来自未来的好消息:TestFlight 已被 Apple 收购,并继续作为 App Store Connect 的一部分。从那时起,在将 iOS 应用程序分发到 App Store 之前使用 TestFlight 测试它们已成为标准。

以上是关于我可以为没有 UDID 的任何设备分发我的应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用分发配置文件将 iPA 安装到特定设备

设备 UDID 已经存在于我的开发者帐户中,但仍然收到错误,因为在 firebase 和 fastlane 中等待开发者

进行应用内购买的用户的 UDID [关闭]

没有 UDID 的测试应用程序

Firebase App Distribution - 为新的 UDID 更新现有 IPA

ios:如何在没有连接设备的情况下将新的 UDID 添加到配置文件?