通过OTA进行iOS企业级分发

35
我们已经开发了一款企业级iPad应用程序,现在我们想把它提供给我们的员工使用。最初在测试时,我们使用自定义分发方式收集了所有测试设备的UDID,然后创建了配置文件。
现在,当我们要真正投入使用时,我们希望将这个应用程序部署到一个安全的Web服务器上,然后将链接发送给我们的员工,以便他们在访问链接之前输入用户名和密码。
我们需要在500多台设备上安装这个iPad应用程序。我是否需要收集所有的UDID,然后部署.ipa文件,因为苹果的文档说:

创建一份企业级分发配置文件,授权设备使用您签名的应用程序。

如果不是这样的话,用户是否需要安装 profile.mobileprovision 文件,然后再安装 .ipa 文件?
由于该应用程序处理大量敏感数据,我们仍然无法决定如何部署我们的应用程序。可以有人帮助我解决这个问题吗?如何为企业级应用程序进行无线部署?

4
如果您使用企业账户,则无需处理应用程序审核流程。 - Michael Dautermann
@Suresh我也遇到了同样的问题,你能告诉我如何使用IOS企业计划发布我的应用程序,以覆盖超过3000名员工吗?谢谢。 - Anand Gautam
分享.IPA给测试人员的两个步骤 https://buildtry.com - Arvind
8个回答

72
截至2011年12月,以下是步骤:
  1. 在您的Apple企业帐户中创建一个配置文件。
  2. 在应用程序的构建设置下将其设置为代码签名标识。
  3. 确保捆绑标识符与配置文件匹配。
  4. 选择“Product > Archive”以构建IPA文件。
  5. 在选择存档后单击共享(又称分发)按钮。
  6. 将内容单选钮设置为iOS应用商店包(.ipa)
  7. 确保下拉菜单中的标识与企业帐户中使用的标识相同。
  8. 单击“下一步”。
  9. 选中“保存用于企业分发”的复选框
  10. 对于应用程序URL,请放置指向IPA文件所在位置的URL(例如:http://oursite.com/myApp.ipa)
  11. 单击“保存”。这将为您保存一个plist和一个ipa文件。
  12. 将这些文件放置在服务器上,并使用以下链接格式:
    <a href="itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=http:/oursite.com/myApp.plist" id="text">
  13. 从您的设备转到此页面,然后单击链接以安装该应用程序

7
它的意思是无法连接到服务器。 - swati sharma
这个过程是相同的。确保你已经设置了用于分发证书和企业分发的配置文件的代码签名身份和配置文件。然后按照上面所示的方式进行归档并创建发布链接。 - tiltem
1
我在这里遇到了问题,我的问题最终是应用程序名称中有一个空格,但HTML文件不仅需要%20进行双重转义,而且plist还需要进行单一转义%20,以便使所有内容协同工作。 - Stu P.
从iOS 7.1开始,plist需要在https端点。有关详细信息,请参见此SO问题 - Regan Sarwas
显然,当我运行“导出”时,它只创建了一个.ipa文件。我似乎找不到生成的.plist文件。我需要创建一个吗? - jsetting32
显示剩余3条评论

5

分发企业移动应用程序并安全地管理用户、群组、数据和设备的最佳方法可能是使用移动设备管理器(MDM)工具套件。

iOS提供了特定的API,支持通过MDM产品进行企业部署,具有API级功能,例如每个应用程序VPN连接,允许您将DMZ应用程序服务器防火墙到仅连接到特定签名客户端iOS应用程序。供应商还提供身份验证SSO集成和加密存储设备,以使您的企业应用程序在BYOD设备上与其他不受信任的个人应用程序隔离。

这是Gartner 2013年对MDM产品的评估:

现在的三个主要参与者分别是:Air WatchMobile IronCitrix XenMobile
注意:我不为任何MDM供应商工作或拥有利益。

5
有两种解决方案:
  1. 尝试使用testflightapp.com

    它可以为您完成所有操作,甚至还有一个SDK,在调试过程中使用日志和崩溃报告非常有用。

  2. 如果您想要拥有自己托管的企业解决方案,则http://hockeykit.net/是最好的选择。

    它有一个客户端应用程序,使升级过程变得轻松。它还有一个服务器端代码,您可以部署在自己的服务器上。

    https://github.com/TheRealKerni/HockeyKit


  1. 更新于2013年11月23日:

    我们已经很长时间愉快地使用Diawi


是的 - 终于在今晚处理了这件事。使用TestFlight进行企业部署效果非常好。 - johndpope

4

2

我创建了一个工具(它是测试版,请耐心等待:)),用于在线从ipa文件生成清单:

http://manifest-generator.knejzlik.cz/

它将生成包含index.html文件的plist。您只需要将下载的存档内容放到您的网站上即可。


现在它在其他地方可用吗? - michael
是的,我已经更新了URL(到http://manifest-generator.knejzlik.cz/)。感谢您的反馈 :) - JakubKnejzlik

2

作为一个小的侧面问题,现在是否可以将配置文件嵌入应用程序包中,以便用户无需进行任何额外的设置? - Tom
@railwayparade我也遇到了同样的问题,你能告诉我如何使用IOS企业计划发布拥有>3000名员工的应用程序吗?谢谢。 - Anand Gautam
请参考tiltem在上面的帖子。基本上,您需要使用企业配置文件构建应用程序,然后将其放置在Web服务器上。然后您的员工可以访问该网站并安装该应用程序。 - railwayparade

1
你可以使用InstallFish.com来完成这个任务。它支持IOS和Android的OTA分发,并且具有自动获取UDID并创建自己的应用商店的功能。尽管你仍需要通过企业账户进行配置,但它可以让OTA安装的整个过程更加容易,特别是对于企业分发而言。

0

你可以使用hockey、diawi等工具,但有时候你只想要一个简单的东西,让你能够在自己的服务器上托管它。我正在寻找一个简单的、基本的php脚本来实现这个目的,但没有找到适合我的需求,所以我自己编写了一个简单的单一php文件服务器,你可以在这里找到:

https://github.com/leszek-s/LSIPASERVER

它拥有所有已上传的ipa文件列表,具有密码保护的上传页面,每个已上传的ipa都有自己的页面,因此您可以将特定已上传的ipa的链接发送给某人。请随意在您自己的服务器上使用它。

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