如何对 iPhone 应用进行 Beta 测试?

469

如何进行 iPhone 应用程序的 beta 测试?我可以在自己的设备上获取它,并且任何给我的设备,我都可以在他们的设备上运行它,但是是否有一种方式通过应用商店进行有限版发布以进行 beta 测试?

相关链接:此外,请参阅有关在不使用应用商店的情况下将应用程序安装到手机上的此问题


https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html#//apple_ref/doc/uid/TP40012582-CH8-SW1 - Abizern
如果您想从其他浏览器安装,请使用AppBox。它是一款Mac应用程序,可使用您的Dropbox帐户分发您的Ad-hoc和企业应用程序。https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases - Vineet Choudhary
9个回答

420

创建即时分发配置文件

苹果提供的说明在此处,但以下是我创建通用的配置文件并添加测试人员的步骤。

我的设置:

  • Xcode 3.2.1
  • iPhone SDK 3.1.3

在开始之前,请确保..

  • 您可以通过Xcode在自己的iPhone上运行应用程序。

步骤A:将设备添加到Provisioning Portal中

  1. 向每个测试人员发送以下消息的电子邮件:

    想让我的应用程序在您的iPhone上运行,我需要一些关于您的手机的信息。猜猜怎么着,有一个可以帮您完成的应用程序!

    点击下面的链接并安装然后运行该应用程序。

    http://itunes.apple.com/app/ad-hoc-helper/id285691333?mt=8

    该应用程序将创建一封电子邮件。请将其发送给我。

  2. 收集所有测试人员的UDID。

  3. 转到Provisioning Portal

  4. 进入设备部分。

  5. 单击添加设备按钮并添加先前收集的设备。

步骤B:创建新的配置文件

  1. 启动Mac OS实用程序程序Keychain Access

  2. 在主菜单中选择钥匙串访问 / 证书助手 / 从证书颁发机构请求证书...

  3. 弹出的对话框应该已经填写了你的电子邮件和名称。

  4. 选择单选按钮保存到磁盘并继续。

  5. 将文件保存到磁盘上。

  6. 返回配置门户网站

  7. 转到证书部分。

  8. 转到选项卡发布

  9. 点击请求证书按钮。

  10. 上传使用钥匙串访问创建的文件:CertificateSigningRequest.certSigningRequest

  11. 点击批准按钮。

  12. 刷新浏览器,直到状态显示已签发

  13. 点击下载按钮并保存文件distribution_identify.cer

  14. 双击该文件将其添加到钥匙串中。

  15. 通过选择其私钥文件/导出项目...备份证书。

  16. 再次返回配置门户网站

  17. 转到配置文件部分。

  18. 转到选项卡发布

  19. 点击新建配置文件按钮。

  20. 选择单选按钮Ad hoc

  21. 输入配置文件名称,我命名为Evertsson Common Ad Hoc

  22. 选择应用程序的ID。我有一个通用的应用程序ID,可以用于多个应用程序:Evertsson Common

  23. 选择设备,在我的情况下是我的自己和测试人员的设备。

  24. 提交。

  25. 刷新浏览器,直到状态字段显示Active

  26. 点击按钮下载并将文件保存到磁盘中。

  27. 双击文件将其添加到Xcode中。

步骤C:构建发布应用程序

  1. 在Xcode中打开您的项目。

  2. 打开 Project Info 面板:在 Groups & Files 中选择最顶层的项目,然后按下 Cmd+I

  3. 进入选项卡 Configuration

  4. 选择配置文件 Release

  5. 点击按钮复制并将其命名为Distribution

  6. 关闭 Project Info 面板。

  7. 打开 Target Info 面板:在 Groups & Files 中展开 Targets,选择您的目标并按下 Cmd+I

  8. 进入选项卡 Build

  9. 选择名为 Distribution配置文件

  10. 找到Code Signing部分。

  11. Code Signing Identity / Any iPhone OS Device 的值设置为iPhone Distribution

  12. 关闭 Target Info 面板。

  13. 在主窗口中将Active Configuration选择为Distribution

  • 从文件模板代码签名/授权创建一个新文件。

  • 将其命名为Entitlements.plist

  • 在该文件中,取消get-task-allow复选框的选择。

  • 打开Target Info面板,并再次找到代码签名部分。

  • 代码签名授权后输入文件名Entitlements.plist

  • 保存、清理并构建项目。

  • 组和文件中找到文件夹MyApp/产品并展开它。

  • 右键单击应用程序并选择在Finder中显示

  • 压缩.app文件和.mobileprovision文件并将归档文件发送给您的测试人员。

    这是我的应用程序。要将其安装到您的手机上:

    1. 解压缩归档文件。

    2. 打开iTunes。

    3. 将两个文件拖放到iTunes中并放置在Library组中。

    4. 同步您的手机以安装应用程序。

  • 完成了!太好了。这对我有效。到目前为止,我只添加了一个测试人员。


    1
    这个问题有答案: https://dev59.com/iknSa4cB1Zd3GeqPLi_s - Josh Brown
    我暂时没有时间更新XCode 4。也许其他人可以试试? - Arne Evertsson
    10
    这篇由jj0b撰写的博客文章(http://www.musicalgeometry.com/?p=1237)为adhoc分发过程增加了xCode 4步骤。 - hokkuk
    大问题是:在没有拥有电脑的情况下,用户如何在iPad 2上使用iOS5发现自己的UDID?我在任何菜单中都没有看到这个项目。 - Duck
    @bobobobo 不确定。如果您觉得需要的话,请更新我的答案。 - Arne Evertsson
    显示剩余5条评论

    173

    2011年,出现了一个名为“Test Flight”的新服务,它直接解决了这个问题。

    自从2014年开始,苹果已经购买了TestFlight,并将其整合到iTunes Connect和App Store Connect中。


    12
    根据我的经验,TestFlight是目前最好的解决方案,比其他任何东西都要好。 - Josh Brown
    这个网站比目前在这里得到更高评价的“ibetatest.com”漂亮多了,大概是美观度提升了10倍。它还详细地解释了使用过程中的所有步骤,而ibetatest则只能通过非常枯燥的视频来解释流程。 - DanF
    Testflight是如何做到的? - beryllium
    Testflight似乎在2014年停用了他们的SDK,不再为新账户提供支持。我们正在使用HockeyApp,并且非常满意它的表现 - 这是一个非常好的应用程序。 - Ender2050
    我使用TestFlight向朋友和家人分发我的应用程序进行测试。苹果公司收购了TestFlight,自Xcode 6和iOS 8以来,它已经免费提供给iOS开发者使用。 - Oscar Salguero
    对于任何感兴趣的人,我已经创建了一个非常轻量级但非常有效的开源框架,您可以将其包含在应用程序中,这将为您提供一种通过将反馈发布到Slack中的应用程序中轻松获取来自测试人员的反馈的方法。它被称为SlackReporter,可以在https://GitHub.com/TheBasicMind/SlackReporter找到。我已确保它也非常容易集成。对于我的beta测试,我指示我的测试人员可以通过将手机翻转并摇晃它来提供反馈。如果这对您来说太模糊了,那么有许多不同的选项可用于调用表单。 - TheBasicMind

    11
    请注意,传统的“beta测试”由专业的QA工程师完成,而“公开beta测试”则是在产品准备就绪之前向公众发布的不同之处。
    您可以进行“beta测试”,将其加载到特定的iPhone / iPod上供测试人员使用。您不能进行“公开beta测试”-向公众进行预发布。

    1
    除了很多公司似乎一直在这样做之外。 - Michael Todd

    8
    在2014年,随着iOS 8和XCode 6的推出,苹果公司通过iTunes Connect引入了iOS应用程序测试版Beta Testing
    您可以将构建上传到iTunes Connect并使用其电子邮件地址邀请测试人员。您只需使用电子邮件地址即可邀请多达2000名外部测试人员。他们可以通过TestFlight安装测试版应用程序。

    6

    4

    有一项相对较新的服务叫做HockeyApp,似乎与TestFlight竞争,不过他们声称可以让你获得无限用户数量,但是需要花费一些$$,而TestFlight则已经直接整合到iTunes Connect中。


    这并不意味着iOS的供应要求不适用。 - Kerni

    3

    使用TestFlight:

    1) 通过开发证书创建ipa文件。

    2) 在TestFlight上上传ipa文件。

    3) 现在,为了识别要测试的设备,在苹果帐户上添加设备ID并刷新您的开发证书。下载更新后的证书并将其上传到TestFlight网站上。检查您获取的设备ID。

    4) 现在将ipa文件发送给测试人员。

    5) 下载ipa文件时,如果测试人员没有收到任何警告,则意味着设备令牌+预配配置文件已经验证。所以,测试人员现在可以在设备上下载ipa文件并进行测试工作。


    3

    iOS 8、Xcode 6、iTunes Connect和TestFlight让UDIDs和Ad Hocs不再必要。你只需要一个来自测试人员的Apple ID。目前,你只能使用25个内部测试人员进行测试,但很快将有1000个外部测试人员可用。这篇博客文章向你展示如何设置内部测试。


    1
    < p >< em >(由于此帖子中仍缺少官方指南..) < p >TestFlight,被苹果收购并现在(iOS8+)可用于测试版,使得将您的应用程序交给测试人员变得容易,无需事先收集设备UUID(您只需要测试人员的电子邮件地址)。可以在iTunes Connect Developer Guide中找到解释所有必要步骤的广泛指南。


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