Phonegap:灵活的iOS应用程序更新(无需AppStore)

4
我有一个 Phonegap iOS 应用程序。我的应用程序是私下分发的,因此不会使用应用商店。该应用程序与自制中间件进行通信。为了管理应用程序更新,我考虑做以下操作:
- > 在应用程序启动时,检查是否有更多更新版本可用。 - > 如果是,则调用自制的 JavaScript 模块,该模块将利用 HTML5 文件 I/O API 根据中间件输出来更新/创建/删除文件。
在您的意见中,这种解决方案可靠吗?
还有其他替代方案吗?(应用商店完全不在考虑范围之内)

看看这个方法: https://dev59.com/w2cs5IYBdhLWcg3waTXw - Ravindranath Akila
5个回答

4

使用 PhoneGap/Cordova 应用程序通常从本地的 www 文件夹加载文件。在运行时更新文件的问题在于,您无法写入到 www 位置 - 您只能写入到应用程序的“文档”文件夹。

我假设您正在使用 Enterprise 分发,因为您正在分发而没有经过应用商店。如果您愿意让用户去检查更新,您可以考虑使用类似 TestFlight 的工具来分发更新。

您还可以消除 TestFlight 并自己托管 ipa 文件,检查更新然后要求用户下载并安装更新。

编辑

无论是否使用插件,都无法向 www 文件夹中写入。这是由于 iOS 的限制而不是 PhoneGap/Cordova 的限制。

这些链接讨论了通过空中分发企业应用程序的相关内容http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html

通过OTA进行IOS企业级分发

企业内部应用程序分发


谢谢codemonkey!有两个问题需要解决:(1)是否可以使用自定义的phonegap插件将文件写入到www/目录?(2)能否进一步开发关于自己托管"ipa文件"并使用itms://链接的最后一点?我不太明白...非常感谢 - CoolStraw
抱歉,不是itms链接。我把两件事情搞混了:-)。你可以有一个简单的ipa链接。答案已更新。 - codemonkey
我已经开发了一个解决方案,可以规避写入www文件夹的问题。试试看吧,我已经用它成功地提交了两个应用程序(苹果现在允许这样做,我不必隐藏它):https://github.com/ben-ng/phonegap-air - Ben

2

我知道这是一个老问题,但是被接受的答案已经不正确了。以下是一个完整的项目,展示如何完成:https://github.com/ben-ng/phonegap-air

简而言之,技巧是不要写入应用程序包中,而是写入文档目录。


2

我在考虑使用www文件夹作为引导程序,在文档目录的www文件夹中下载实际应用程序,并从那里加载index.html页面(以及应用程序的其余部分)。

我想知道这是否是一个选项。

当然,如果已经存在下载版本,ObjectiveC UIWebView将指向该版本。


1

有一个名为Trigger.io的替代服务。它很像phonegap,但其关键特点之一是它允许您在设备上“重新加载”应用程序,这基本上就是您要寻找的,据我所知。


0

看起来 Cordova 只能加载在应用程序包中的文件。您不能简单地更改 Webroot 参数以使用文档文件夹。

您可以使用 FileReader API 从持久存储中读取内容。这意味着您需要创建一些引导式 HTML / JavaScript,放在应用程序包中并创建代码,从持久存储库中加载内容(您随时可以自己更新)

这是一个很好的起点:Cordova 文件API文档


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