【问题标题】:Deploy changes to PhoneGap Mobile App mark-up without deploying to market?将更改部署到 PhoneGap 移动应用标记而不部署到市场?
【发布时间】:2012-10-29 17:09:39
【问题描述】:

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

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

【问题讨论】:

  • 也许我不完全理解您的要求,但是对于应用程序的任何更改,必须重新部署应用程序(并批准用于 iOS) .标记更改与添加 PhoneGap 功能一样是对应用程序的更改。
  • 我无法理解这一点;阐明?如果您刚刚进行了一些标记修订,我什至看不出将更改推出的意义,这对所有相关人员来说似乎都是一种不便。我也不明白您希望如何在没有市场的情况下将更改推向手机。可能我理解错了?
  • 我想我现在明白了,看看答案!
  • Apple TOS #2.7 仅适用于您正在下载代码 - “以任何方式或形式下载代码的应用都将被拒绝”;可以说您正在下载新内容 - 因为您没有添加其他功能或任何原生内容;您正在下载类似于网络浏览器的 HTML;即 Chrome 或 Safari 或任何社交网络应用程序。

标签: android ios cordova mobile jquery-mobile


【解决方案1】:

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

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

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

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

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

希望这会有所帮助!

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

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

对于那些无法访问应用商店审批指南的人 - 有一个 public PDF here

【讨论】:

  • 感谢您的回复...我很确定这仍然会破坏 Apples TOS - #2.7: developer.apple.com/appstore/resources/approval/guidelines.html
  • 我稍后会更详细地查看审批指南;但是看看我的帖子,我猜这是由于绕过应用商店的“更新”方法造成的。如果您明确表示应用程序没有更新,而是下载新内容,这将不是问题 - 即可能使用显示“加载最新内容”的按钮;就像那里的每个社交网络应用程序一样。唯一的问题是他们是否认为应用程序能够自动更新为 PhoneGap 应用程序可以使用此机制。虽然这是一个有争议的问题,因为我刚刚意识到这个 Q 被标记为 Android!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多