-1

我想知道在不部署到每个(苹果和安卓)市场的情况下,对 PhoneGap + jQuery Mobile 应用程序进行更改的最佳方法是什么。我最近所做的大部分更改都严格针对标记,而不是添加 Phonegap 功能。我意识到如果我将 phoneGap 功能添加到标记的某个部分,这将不得不改变。
但是在一些严格标记的页面上,我如何才能单独交付该内容,这样我就不必每次都将更改部署到市场?提前致谢。

编辑:由于 ios 服务条款,这似乎是不可能的:Apples TOS - #2.7:https ://developer.apple.com/appstore/resources/approval/guidelines.html

4

2 回答 2

1

如果我理解正确,您已经对现有 phoneGap 应用程序进行了一些标记更改 - 可能是新内容或布局,并且您想将这些更改推广到没有市场的个人手机?您还没有做任何不过功能上的变化。

不幸的是,这与您实现了重大功能更改完全相同。您需要重新部署并通过市场。

然而,由于 PhoneGap 和 Web 技术的优点——可能值得实现某种形式的功能来动态加载新内容,以防止这个问题在未来再次出现。可以在应用程序初始化时进行简单的自动检查以检查新内容;或者一个简单的“获取新内容”按钮向外部服务器启动 AJAX 请求就足够了。

这意味着内容不能被硬编码到应用程序中——但是使用本地存储选项(即webSQL),您可以存储内容并在加载时检索它;然后只需在更新时更新存储。

通过这样做,您将满足要求应用程序离线运行的任何准则,同时确保您可以随意将新内容推送到设备。您也不应该违反任何应用商店指南(据我所知);尽管正如@ninjasense 在评论中提到的那样-您需要小心它从外部资源中拖动内容的事实*。它也给了你一个去市场更新的理由——毕竟,你现在已经添加了一个主要的新功能。;)

希望这可以帮助!

*如果您打算通过 iOS 进行营销,在任何情况下都不要将其称为更新应用程序的方法。那就是说;我注意到您实际上是针对 Android 的——这应该是可以接受的。主要问题是允许从外部源下载代码,您可能会在以后引入安全漏洞、糟糕的代码或错误。(这在您使用 PhoneGap 时是可能的,理论上您可以使用这种机制将 Javascript 推送到客户端手机)

Apple TOS #2.7 仅适用于您正在下载代码 - “以任何方式或形式下载代码的应用程序将被拒绝”;可以说您正在下载新内容 - 因为您没有添加其他功能或任何原生内容;您正在下载类似于网络浏览器的 HTML;即 Chrome 或 Safari 或任何社交网络应用程序。因此,为什么我会避免将任何更改称为更新;只是内容发生了变化 - 并强调您正在下载标记以显示内容的事实。

对于那些无法访问应用商店批准指南的人 - 这里有一个公共 PDF

于 2012-10-29T17:41:19.763 回答
0

如果您从服务器提供内容并且您的标记更改不会影响本地应用程序(意味着不需要对应用程序进行代码更改并且标记更改是从后端提供的),那么您很好并且您没有违反任何条款。事实上,如果您必须更改应用程序,您将不得不重新部署,而且您显然无法违反条款。因此,似乎只有一种明显的方法可以做到这一点。

于 2012-10-29T18:47:31.190 回答