2011-07-28 46 views
2

我们需要能够在我们的设备上轻松安装我们的内部应用程序,并快速更新它们,无论它们位于何处。通过webapp的iOS企业分布?

我正在研究将我们的内部应用程序分发给我们的员工的不同方式。到目前为止,我已经发现了iTunes,iPhone配置实用程序,通过网络链接等安装...

我们的设备将可能不会接近我们的办公室,主要依靠3G,所以看起来网络链接是我最好的免费选择。

我做了一个web应用程序,我可以添加到主屏幕来安装/更新应用程序。我想要做的是使网络应用程序更加智能化:显示“安装”按钮或“更新”按钮。理想情况下,我希望网络应用程序知道已安装的应用程序的版本。

我能想到的唯一方法是:当用户单击安装链接时在localStorage中存储版本号。当他们稍后返回时,将其与可用内容进行比较并显示正确的按钮。

这个“解决方案”最大的问题是,如果用户清除Safari的缓存会怎么样?主屏应用程序是否拥有自己的受保护缓存?

另一种选择是让应用程序本身将其版本号传递给服务器并将其存储在数据库中。但这更复杂,所以我想避免这种情况。如果我可以在不启动应用程序的情况下使用url方案获取版本号,那将是可以接受的。但我不认为这是可能的。

因此,无论员工在哪里旅行,我们都需要在设备上快速更新应用程序,什么是最简单,最好,最好是免费的解决方案?

+0

似乎很多工作,当你可以让按钮说“安装/更新”。 – ceejayoz

回答

2

这真的很简单...应用程序可以通过打开一个网络链接来更新自己...你不必在Safari浏览器中打开它。所以在应用程序启动时,只需检查Web服务器的版本,当它不是最新版本时,它就可以自行更新。

您也可以在紧急情况下发送远程通知。

+0

这是个好主意。但我确实需要页面本身来安装应用程序。我也想通过更新服务器上的几个静态文件来保持简单。我要做的是在UIWebView中添加页面,并在页面加载之前使用stringByEvaluatingJavaScriptFromString注入版本号。这样我可以更新界面以向用户反映智能信息。 – Luke

+0

您只需要包含版本号和ipa文件的服务器上的静态文件。在你的应用程序中加载该文件,与本地版本进行比较,如有必要,可在应用程序中显示弹出窗口,以便更新应用程序。 – Bastian