8

我在查找有关iOS企业开发人员计划的信息。从我读的内部发行版本中,公司可以在不知道设备UDID的情况下在内部发布iOS应用程序(与特设发行版不同)。使用这些配置文件构建的应用在技术上可以是安装在任何iOS设备上(不限制设备数量),但许可协议规定我们不能将企业应用分发给公司外的任何人。更新内部应用 - iOS企业开发人员计划

从我阅读的内容中,我们可以通过我们想要在企业内部使用的任何介质来分发应用程序。在我们的案例中,我们希望将.ipa及其.plist放在我们的Intranet上(通过身份验证进行保护)。我们的用户可以使用任何iOS设备浏览该网站,输入他们的凭据,点击链接并安装应用程序。那很棒。

但更新如何工作?我无法找到关于此主题的信息。如果我创建应用程序的新版本,所有设备都会自动更新,无需我的干预?

回答

7

更新有两种不同的情况 - 1)服务器驱动的更新,你不需要修改你的代码。在这种情况下,您的应用程序应该足够智能,以便轮询服务器是否有任何更新,下载并自行重新配置。我正在为我们的本地应用做这个。 2)你已经更新了代码。在这种情况下,您需要在每台设备上重新安装应用程序以更新它。

就你而言,我认为你正在寻找方案-2的解决方案。您可以实施与Apple向Appstore提交更新版本时执行的操作类似的内容。他们在更新部分显示更新的应用程序,然后重新安装应用程序。你可以在你的应用程序中有一些部分检查是否有更新,并用HTML链接调用iTunes服务,这将直接让用户询问是否安装更新的应用程序。第二个选项,您可以使用更新版本信息更新.ipa和.plist文件后使用推送通知。

+0

感谢您的回答。是的,我指的是场景2.根据我的理解,所以没有自动更新内部应用程序的方式(比如在App Store中,我只需提交新构建)。只是一个问题:如果我遵循你的建议(即提示用户安装更新的应用程序),应用程序数据是否保存? (该应用程序使用内部核心数据数据库以及一些首选项。) – Dev

+1

是应用程序数据将被保留。我们的应用程序中有相同的要求。我在UserDefaults中存储了许多设置,这些设置不受更新应用程序影响。 AppStore更新的情况也是如此。 – applefreak

+2

我确认。在苹果公司的“内部应用程序开发加速指南”文件中说:“您需要通知员工更新并指导他们安装应用程序。如果在Xcode中分配给应用程序的应用程序标识符不变,它将识别应用程序作为现有的应用程序,并在保留本地存储的应用程序数据或偏好的情况下安装更新。为了更加方便,请考虑在应用程序内开发一个与运行时联系服务器进行更新的功能。 – Dev

0

更新您的应用程序后,将其上传到与之前相同的位置。因此,所有的用户只需要重新安装。然后,它将适用于在应用程序中进行的新更改。

3

其他选项包括使用MDM(移动设备管理)或MAM(移动应用程序管理)解决方案。

MDM解决方案允许已经“注册”的用户推送新的更新,但是,用户必须请求更新并提示他们手动安装更新。除非用户安装额外的客户端应用程序,否则用户无法接收推送通知消息。

MAM解决方案可以为整个应用生命周期(包括更新)提供支持。提供此功能的供应商解决方案是Apperian EASE,它允许组织中的用户安装和运行内部应用程序。欲了解更多信息,请参阅http://www.apperian.com

EASE可以通过推送通知(这通过自定义本机应用程序目录)通知所有安装了应用程序的用户,该应用程序存在新版本(更新)。

开发人员可以使用EASE SDK向服务器发出查询,以查看是否有新更新可用和/或需要更新,如果是,则自动安装更新。 EASE SDK文档位于https://apperian.jira.com/wiki/display/pub/EASE+SDK+Guide

+1

谢谢。我不知道EASE,看起来很有趣。只是最后一个问题。当您说“_ [使用MDM]时,除非用户安装额外的客户端应用程序,否则用户无法接收推送通知消息_”是否意味着MDM解决方案阻止推送通知正常工作,或者MDM解决方案不会(自动)推送通知更新? – Dev

相关问题