我有一个 Phonegap iOS 应用程序。我的应用程序是私下分发的,因此有并且不会使用应用程序商店。该应用程序与自制中间件进行通信。为了管理应用程序更新,我考虑过执行以下操作:
-> 在应用启动时,检查是否有更新的版本可用。
-> 如果是,则调用自制的 Javascript 模块,该模块将利用 HTML5 文件 I/O API 以根据中间件的输出更新/创建/删除文件。
依你的意见; 这个解决方案可靠吗?
有没有其他选择?(应用商店完全没有画面)
我有一个 Phonegap iOS 应用程序。我的应用程序是私下分发的,因此有并且不会使用应用程序商店。该应用程序与自制中间件进行通信。为了管理应用程序更新,我考虑过执行以下操作:
-> 在应用启动时,检查是否有更新的版本可用。
-> 如果是,则调用自制的 Javascript 模块,该模块将利用 HTML5 文件 I/O API 以根据中间件的输出更新/创建/删除文件。
依你的意见; 这个解决方案可靠吗?
有没有其他选择?(应用商店完全没有画面)
使用 PhoneGap/Cordova 应用程序,您通常会从本地 www 文件夹加载文件。在运行时更新文件的问题是您无法写入 www 位置 - 您只能写入应用程序的“文档”文件夹。
我假设您使用的是企业发行版,因为您在没有应用商店的情况下进行分发。如果您对用户必须去检查更新感到高兴,您可以考虑使用诸如TestFlight 之类的东西来分发更新。
您还可以消除 TestFlight 并自己托管 ipa 文件,检查更新,然后要求用户下载并安装更新。
编辑
无论有没有插件,都无法写入 www 文件夹。这是由于 iOS 限制而不是 PhoneGap/Cordova 限制。
这些链接讨论无线分发企业应用程序 http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
我正在考虑使用 www 文件夹作为引导程序来下载文档目录中 www 文件夹中的实际应用程序,并从那里加载 index.html 页面(以及应用程序的其余部分)
我想知道这是否是一个选择
当然,如果存在的话,ObjectiveC UIWebView 会指向下载的版本
我知道这是一个老问题,但接受的答案不再正确。这是一个完整的项目,展示了它是如何完成的:https ://github.com/ben-ng/phonegap-air
简而言之,诀窍是不要写入应用程序包,而是写入 Documents 目录。
有一个名为Trigger.io的替代服务。它很像phonegap,但它的一个关键特性是它可以让你在设备上“重新加载”应用程序,这基本上就是你正在寻找的东西,AFAICT。
因此,cordava 似乎只能加载应用程序包中的文件。您不能简单地更改 webroot 参数以获取文档文件夹。
您可以做的是使用 FileReader API 从持久存储中读取。这意味着您必须在应用程序包中创建某种引导 html / javascript 并创建从持久存储加载内容的代码(您可以随时更新自己)
这是一个开始寻找的好地方:Cordava File API docs