迁移到新服务器 API 时处理 Appstore 批准的最佳实践

Best practice to handle Appstore approval when you are migrating to new server APIs

我们通过服务器、网络应用程序和 iPhone 应用程序提供在线服务。我们将迁移到我们服务器上的新 API。 我们面临的问题是如何将 Apple 审核嵌入到迁移过程中。

如果没有 Apple 审核,我们会这样做:

  1. 停止我们的服务一个小时进行维护。
  2. 使用用户数据迁移数据库
  3. 使用新 API 发布新版本的网络应用程序
  4. 使用新 API 发布 iPhone 应用的新版本
  5. 关闭维护。开启我们的服务使用。

我们在服务器上同时保留旧 API 和新 API。需要旧 API 才能与那些不会下载最新 iPhone 应用程序的用户一起使用。

然而,苹果审查破坏了这个过程。我们需要向 Apple 提供模拟账户的访问权限。就是说上面的step 4延迟了review的时间(一周或者更久)。这意味着用户将获得具有新功能的网络应用程序,但实际上,一旦 Apple 批准 iPhone 应用程序,就无法使用它。

请问你们是怎么处理这种情况的?

你可以这样做:

  • 像往常一样保持旧服务 (A) 开启
  • 开始新服务 (B)
  • 将包含用户数据的数据库从 (A) 迁移到 (B)
  • 使用 "Manual release".
  • 提交带有新 API (B) 的 iPhone 应用程序的新版本
  • 等到 Apple 审核您的应用程序
  • 应用通过审核后,您应该停止服务(A)(从现在开始,进入维护模式时间)
  • 重复将数据库从 (A) 迁移到 (B),因此 (B) 中的数据是最新的。
  • 在 (B) 中使用新 API 发布新版本的网络应用程序
  • 发布您的 iPhone 应用程序
  • iPhone 应用程序将在不到 24 小时(通常)内分发。 (维护模式结束)

这里的问题是您如何处理较旧的 iPhone 应用程序版本。我知道这是你的第一个版本。您应该能够以某种方式为您的 iPhone 应用程序激活一个 "maintenance mode" 并为此激活一个版本控制系统。

希望对您有所帮助。