0

我们正在寻求开发一个与客户站点内部托管的网络服务通信的 iPhone 应用程序。请注意,这是我们的第一个 iPhone 原生应用程序并使用 monotouch 来完成这项工作。

我们将定期维护代码并发布更新。但是,用户只需要根据他们的本地 Web 服务和后端进程更新所需的版本。例如,如果用户仍在使用版本 1 的 web 服务,则根本不需要更新 App,而版本 2 的用户需要更新到匹配的 App 等等。

我们想要控制更新过程,或者至少找到一个解决方案,如果用户更新到最新的应用程序,它不会因为连接的 web 服务过期而出现错误。

我们正在考虑以下过程,但似乎没有任何解决问题的方法。

1) 将应用留在应用商店,但根据 Web 服务版本以某种方式控制更新过程。因此,当用户尝试更新时,除非所需的 Web 服务可用,否则它不会更新。(烦人的部分是用户可能会提示有可用的更新,即使这些更新对他们来说是无关紧要的。)

2) 在 AppStore 之外控制更新。类似于内部开发的东西。

3)完全从客户端停止更新过程,只从webservices端触发更新。

i.e Inform the client that it needs to update when the webservices updated, and the client will run the update process at that point.

However, it could be tricky, if the customer's updated to the webservices version that is not the latest.
4

2 回答 2

0

我会提出第四个选项:不要控制/限制更新:)

发布一个使用 Wrapper 对象访问服务的应用程序,该对象在内部处理不同版本的 Web 服务。


除此之外。

  • 1)不起作用(如果我明白你在做什么:试图影响应用商店更新)
  • 2)听起来可行,如果你不关心应用商店,它可以工作
  • 3)为什么?用户喜欢更新 :) + 会有严重的错误
于 2012-11-13T08:42:38.443 回答
0

1)没有办法用Apple的AppStore做你想做的事,一个应用程序可以更新或不能更新,你不能添加需要在设备本身上运行代码的额外条件。

2) 剩下的是内部企业部署——但这仅限于部署到您自己的公司,您不能以这种方式部署到不同的客户。

3)您无法停止应用程序的更新,因为更新应用程序时您无法运行代码。

有一个 4),但它需要你做更多的工作:

4)让您的应用程序支持支持较旧的网络服务,或者通过用户可以设置的某种配置,或者查询网络服务的版本并相应地选择。这还有一个额外的好处,即可以首先将更新部署到所有设备,一旦所有设备都更新完毕,就可以更新 Web 服务。

于 2012-11-13T08:35:18.137 回答