itunesconnect应用程序 - 恢复到以前的版本

时间:2014-02-20 06:16:13

标签: ios version itunesconnect

我发布了针对我的应用的更新,但它已获批准。尽管它包含了一个严重的本地化错误,大多数用户都使用了错误的语言,但它仍然获得批准。有没有办法快速恢复到以前的版本,暂停当前版本的当前下载,或其他任何可能有助于解决此问题的内容?

我几年前读过以下帖子: Can I revert to my previous version app in iTunes Connect?

我希望现在可能有更轻松的解决方案。

顺便说一句,我在将版本添加为新版本之前对其进行了全面测试。所以,我仍然不完全确定错误或如何解决它。

5 个答案:

答案 0 :(得分:51)

无法恢复应用版本。你应该再次上传旧版本作为新版本来解决这个问题。 你可以做的一件事是:“加快App评论” 请检查以下链接。 https://developer.apple.com/appstore/contact/?topic=expedite 感谢

答案 1 :(得分:14)

以下是iTunes Connect Help page的摘录:

  

问题:我在App Store上的应用程序的新版本有一个错误。我可以使用以前的版本来替换它吗?

     

没有。您无法在App Store中恢复到以前的版本。您必须提交新版本。

来源:iTunes Connect FAQ

显然,替代方案是提交新版本,但要求加急应用审核。

但这意味着您的应用程序与事件相关,或者您有一个需要尽快修复的严重错误。

答案 2 :(得分:2)

我相信您可以通过创建具有较高版本号的后备版本并将其提交以供手动发布批准来解决问题。这将导致它在您的商店中处于静止状态,直到您选择后退并发布为止。

我不确定是否可以提交比后备版本低的改进版本。

答案 3 :(得分:1)

我最近不得不这样做。我能够调整以前的版本档案。我首先复制并打开档案副本,编辑info.plist文件,在档案和应用程序包级别调整版本和内部版本号。然后上传到iTunes,这将它识别为新版本。

答案 4 :(得分:1)

前言: 我同意此处的其他帖子,您不能通过iTunes Connect本身执行回滚。即使可以,您也会遭受用户更新到回滚版本所花费的滞后时间。但这并不意味着我们仍然无法回滚应用程序。


追溯地,您不能回滚应用程序。但是,您可以主动发布您的应用程序,以在发布并安装内部版本后启用将来的回滚。

高级步骤:

  • 将应用程序的每个版本构建为框架
  • 对于每个发行版,请同时包含当前和旧框架版本
  • 在应用启动时,确定要加载和执行哪个框架(包括合理的默认设置)
  • 要回滚时,请在所有用户设备上更新缓存的值,然后等待下一个应用程序打开。

此策略使用类似的机制来设置特征标记,这些特征标记通常用于启用/禁用特征而无需重新发布。但是,在这种情况下,您将“标记”整个应用程序版本。

嵌入式库之间的功能标记是否违反App Store指南?

不。将您的应用的两个版本嵌入一个版本并不违反App Store review guidelines

4.7 HTML5游戏,机器人等

应用程序可能包含或运行未嵌入二进制文件的代码(例如, 基于HTML5的游戏,漫游器等),只要代码分发不是 应用程式的主要目的,商店或 类似于商店的界面,并假设软件(1)是免费的或 使用应用内购买购买; (2)仅使用可用功能 在标准的WebKit视图中(例如,它必须在 Safari,无需修改或附加软件);您的应用必须 使用WebKit和JavaScript Core运行第三方软件,应该 不尝试将本机平台API扩展或公开给第三方 软件;

类似于功能标记,您计划运行的所有代码都包含在您提交供审核的二进制文件中。而且,只要您回滚到Apple已经审阅并批准的版本,您就不会违反准则的精神。

这会影响性能吗?

我已经针对许多popular and heavy open-source iOS apps(包括Wikipedia,Signal,Firefox等)介绍了此方法。您可以很聪明地对资产和共享库进行重复数据删除,从而使夹在中间的应用程序捆绑包大小约为1.2 x原始大小(实际上仅取决于您更改了多少代码)。选择启动哪个版本的应用程序时,还需要花费50毫秒的启动时间。

IMO,增加时间和大小都是值得的,因为在您花费时间实施修复程序时能够选择性地回滚遇到问题的用户。

真实的应用程序会这样做吗?

在启动新功能和优化性能时,dylib之间始终存在主要应用程序功能标志。我也听说过大型科技公司将这种应用程序级模式用于最大版本。我在App Store中有一个使用此模式的个人应用程序,并且我已经帮助其他开发人员进行了同样的操作。

某人如何为他们的应用执行此操作

如果您愿意深入研究Xcode生成系统,则可以按照上面概述的步骤进行操作,并在启动时标记您的应用版本。请注意,您还需要某种形式的缓存和服务器端点来更新设备上标志。

上述实现也正是screenplay.dev实现iOS回滚的方式。工具:

  • 为您的Xcode项目添加了两个构建目标,一个用于构建框架版本,另一个用于捆绑最终发行版本。
  • 用作旧应用程序构建版本的存储库。
  • 提供用于切换实时版本的Web UI。