用于企业分发的自动更新的 iOS 应用程序 [英] Auto-updated iOS application for enterprise distribution
问题描述
是否可以为企业分发制作一个透明更新自身的iOS应用程序?说更新"是指完全更新其逻辑.
Is it possible to make an iOS application for enterprise distribution that updates itself transparently? Saying 'updates' I mean completely updating its logic.
这种方法的一种可能用途是远程维护的自助服务亭 (iPad).
A possible usage of this approach is a self-service kiosk (iPad) that is maintained remotelly.
无法直接更新应用程序二进制文件,但我看到了一些可能性:
It's not possible to update application binaries directly, but I see some possibilities:
- 具有单个 UIWebView 且逻辑在 HTML5 中实现的应用程序.但是我们无法使用可在本机应用程序中使用的大多数硬件特定功能.
- 一些多平台框架(可能基于 HTML5),允许使用原生应用功能并动态编译或解释.
- 越狱?
这些真正有效的方法是什么?
推荐答案
考虑获得 移动设备管理服务.这些都很贵.
Consider getting a mobile device management service. Those are pricey.
或:
首先,启用无线分发.这将需要与 Apple 达成 300 美元/年的企业协议.使用应用的 IPA 存档和描述性 PLIST 设置网站.
First, enable over-the-air distribution. It will take $300/year enterprise agreement with Apple. Set up a website with the app's IPA archive and descriptive PLIST.
然后在应用启动时编写一个回拨 HTTP 请求.您可以提取/解析描述最新版本的相同 PLIST;它有一个捆绑版本.将其与当前运行的包的版本进行比较.
Then code a call-home HTTP request on app startup. You may pull/parse the same PLIST that describes the latest version; it has a bundle version in it. Compare that to the version of the currently running bundle.
当检测到新版本时,应用程序会关闭,并在下载页面上打开浏览器.以更温和的方式,只是通知用户有可用的升级.
When a new version is detected, the app shuts down, opens the browser on the download page. In a softer manner, just notifies the user that an upgrade is available.
我从未尝试过直接链接到应用程序的下载包,但可以尝试一下.在完美的世界中,Safari 会打开并询问您要下载 MyApp 吗?"马上.在一个不那么完美的世界中,用户必须点击一个链接然后同意下载.
I've never tried linking directly to the app's download package, but give it a try. In a perfect world, Safari would open up and ask "Do you want do download MyApp?" right away. In a not so perfect world, the user would have to click a link and then agree to download.
这篇关于用于企业分发的自动更新的 iOS 应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!