将Beta应用分发给远程用户


8

似乎没有简单的解决方案可以向身体以外的人提供我的Beta iOS应用程序。我发现无需使用App Store即可执行此操作的方式(Apple明确表示不用于Beta测试):

  1. 使用开发者企业计划;昂贵和过度

  2. 使用TestFlight;在极端准则针对更多人制定之前,最多只允许最多25名“内部”测试人员使用(为什么此时不将其放在App Store中...?)

  3. 给他们我整个Xcode项目,并让用户在他们自己的Xcode环境中进行构建;不可能询问非技术人员+我不想将我的项目交给公司以外的人

  4. 临时开发;让每个人都给我他们的UDID ...给其他人带来极大的麻烦/人们可能不想在我公司之外这样做

我正在开发的应用程序将被科学界的人们用来控制我公司正在制造的特定设备。有可能它可能永远不会达到App Store上Apple的应用程序标准,但在不久的将来会被100多个人使用。我想我要问的真正问题是:如何将我的“低于标准”的Beta版应用程序带给一大群人?

Answers:


2

过去,对于大型Beta组,您必须在Hockey应用程序和TestFlight之间进行选择-但由于Apple购买了TestFlight,并且您需要进行审核才能获得Beta,Hockey应用程序的Beta测试框架最适合您的需求列出。

它有助于处理用户注册和管理的通知,并通知最终用户。您仍然需要管理测试AppleID池,但是现在已经放宽了100个设备的限制,您可以使用Hockey和Apple的正常付费开发人员帐户限制进行相当广泛的beta测试。

从长远来看,您将希望将该应用程序带到Apple的一家商店中,因为“滥用”企业发行版签名既花费时间和金钱,又耗费时间,而且随着时间的推移,通过审核获得应用程序并不难。是的,您可能会延迟一个月或两个月或更长时间,但是如果坚持下去,除非您违反了苹果非常在意的一项规则,例如包括使用私有API或运行框架的应用程序,否则它将无法部署。他们在应用程序签名并提交批准后下载的代码。

您唯一的选择是将源代码交付给每个用户,并让他们使用Xcode进行构建,自签名,然后安装自己的应用程序。这可能会吸引专业应用程序的积极用户。GitHub或其他源工具将帮助您推出更新,但您将为人们提供支持,并可能为此付费,而不是按照该模型收费的应用程序本身。


因此,如果没有事先获得我想要提供给每个人的UDID,就无法分发我的应用程序吗?Ugh,让我
惊讶

@jel-不。您可以通过TestFlight或为您收集UDID的服务来使用AppleID。这是设计使然-iOS不想侧面加载应用程序。自2007年6月29日起,这就是标准,我认为它不会很快改变。特别是因为iOS 9和Xcode允许任何人自行签署“他们自己的”应用程序。
bmike

2

您可以将TestFlight用于外部Beta测试人员。这样一来,您最多可以使用2500个外部测试仪进行测试。您不需要知道他们的UDID,只需知道他们的电子邮件地址。

但是,我认为您认为您的应用程序即使通过较少限制的beta应用程序审核也将无法通过。

在这种情况下,您可以以“半熟”的形式分发您的应用程序。您可以分发您的应用程序为已编译但尚未签名的二进制文件,而不必给出您声明不希望包含源代码的Xcode项目。

为了使您的客户容易使用,您必须构建或构建一个简单的工具,用户可以运行该工具,该工具使用用户的AppleID对二进制文件进行代码签名。他们不需要注册Apple开发人员。

该工具需要更改Info.plist中的包名称,并使用“ codesign”工具对应用进行签名:

要使捆绑包名称唯一,只需将任何随机标识符添加到plist文件中的捆绑包名称即可。

codesign工具可与以下命令一起使用:

codesign --force --sign "my identity"  <path for .app file>

其中“我的身份”是最终用户的身份(苹果ID)。


您可能要提一提,苹果公司最近要求F.lux的创造者停止做这种事情。
GhostLyrics 2015年

2
是的,没错-但据我所知,它与F.lux之间的区别主要是F.lux组已注册为Apple Developers。他们违反了与Apple达成的协议-并且为了确保不会禁止其潜在的其他应用程序或Mac程序,他们选择停止建议侧面加载iOS应用程序。此外,F.lux应用程序拥有大量潜在用户。这听起来像是专门的研究设备,最多可能有数百个用户使用。在这种情况下,Apple可能不会对此表现出兴趣。
jksoegaard,2015年

1
好吧,前两段在那里是为了确保您知道与普通应用程序审查过程相比,有关Beta版应用程序审查的规则不太严格。关于该工具,我不明白您为什么认为它非常复杂。这是运行Apple提供的现有命令行工具的问题。即在现有工具之上粘贴易于使用的GUI。我看不出那有什么用。
jksoegaard 2015年

我增加了关于如何运行协同设计指令等,您也可以参考苹果的文档细节:developer.apple.com/library/mac/documentation/Security/...
jksoegaard

1

Fabric.io真的很棒。

您可以通过电子邮件发送邀请,您将通过电子邮件收到相应的UDID。

Fabric的真正好处是CrashlyticsAnalytics功能。

Fabric平台由四个模块化工具包组成,这些工具包解决了所有应用程序开发人员都面临的一些最常见,最普遍的挑战:稳定性,分发,收入和身份。它结合了Crashlytics,MoPub,Answers,Twitter和其他服务,可帮助您构建更稳定的应用程序,通过全球最大的移动广告交易平台创收,并使您能够利用Twitter的登录系统和丰富的实时内容流以获得更大的分布和更简单的标识。而且Fabric的构建考虑了易用性。安装仅需几分钟,大多数功能仅需几行代码-因此,您可以花费更少的时间来管理SDK,而将更多的时间用于为用户提供最佳体验。

http://frabric.io


0

Diawi是您要执行的工作的绝佳平台。

本质上,您将应用程序上载到此平台,并且获得了一个短链接,可以将其发送给测试人员。当他们在iOS设备上打开链接时,系统会提示他们安装该应用程序。

正如他们网站上详细介绍的,要抓住的是您必须将每个用户的设备添加到用于安装该应用程序的配置文件中。

无需通过TestFlight进行分发,这对用户来说可能就一样容易。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.