前言: 

AppStore 发布应用方式除了自动和手动,如今添加了分阶段发布(灰度发布)。目的很明确,降低新版本骤然上升的bug率,不能挽回,只能发布新版本的风险。也也是针对禁止使用热修复,推出的相对合理的解决方案吧。来大家一起学习一下。

说明:

好多人觉得分阶段发布会不会影响发布更新周期?

这里,苹果也有很严谨的解释说明:

通过自动更新的分阶段发布,您可以在 7 天内依序向已打开自动更新的用户发布此更新。请注意,所有用户仍可从 App Store 手动更新至此版本。您可最多暂停分阶段发布 30 天,或随时向所有用户发布此更新

一、关于自动更新分阶段发布的一些说明

1.启动后,版本更新将会在一个 7 天的时间段内按百分比发布给已打开自动更新的 iOS 用户。
2.在分阶段发布期间每天完成自动更新的用户的百分比将显示在iTunes Connect中。
3.所有老用户仍然可以直接从App Store手动更新应用,而新客户将始终看到最新版本。
4.如果发现版本更新中发现有问题,可以随时暂停分阶段发布,总共最多30天,而不管暂停次数。版本更新暂停超过30天后,发布将在暂停的那一天恢复,将无法再次暂停发行。
5.在分阶段发布期间中,也可停止发布阶段性的应用,选择发布给所有已打开自动更新的用户。
6.分阶段发布不能选择特定的人群(如年龄、性别,领域或设备信息,如操作系统版本或设备类型),为随机选择。
7.在分阶段发布期间,开启自动更新的用户完成自动更新,用户不会受到通知。

二、自动更新的分阶段发布的步骤
1.从iTunes Connect 主页,单击我的应用程序,然后选择您的应用程序。
2.在左侧列中,点击要提交的应用版本。
3.在“自动更新的分阶段发布”部分中,选择使用分阶段发布的7天内的“发布更新”。
4.单击保存。

三、在分阶段发布期间每天完成自动更新的用户百分比如下,百分比为固定的,不可更改。

 
随时关注bug率和用户反馈, 如没有什么不可抗问题,随时根据需求面向所有用户发布

四、自动更新的分阶段发布的利弊
利:
1.发现新问题,可及时暂停分阶段发布,将损失降到最低。
2.加速产品的发布进程,减少测试周期。
弊:
1.只能选择老用户更新时的灰度,也就是说新用户安装的都是新版。
2.在群体的选择上是随机的,抽到的用户不能代表全局用户特征,统计误差不定,有可能很大,也有可能很小。
3.灰度发布的新版本一旦出现问题是无法回滚的,在修复版开发完成重新发布审核上架之前,已经更新的用户只能继续用bug版本。
4.只能做较大的灰度测试,无法针对功能较小模块甚至代码片段做灰度。

五、参考相关链接:
1.https://itunespartner.apple.com/en/apps/faq/Managing%20Your%20Apps_Submission%20Process
2.http://www.jiemian.com/article/1378301.html
3.http://www.appadhoc.com/blog/what-is-grey-release/
4.http://www.pmcaff.com/article/index/786702749524096?from=label&pmc_param[label_name]=

iOS 关于自动更新的分阶段发布(灰度发布)的相关简介的更多相关文章

  1. 如何屏蔽 iOS 软件自动更新,去除更新通知和标记

    适用于 iOS.iPadOS 和 watchOS,即 iPhone.iPad 和 Apple Watch 通用. 请访问原文链接:https://sysin.org/article/Disable-i ...

  2. 蓝绿部署、金丝雀发布(灰度发布)、A/B测试

    本文转载自蓝绿部署.金丝雀发布(灰度发布).A/B测试的准确定义 概述 蓝绿部署.A/B测试.金丝雀发布,以及灰度发布.流量切分等,经常被混为一谈,影响沟通效率. 根本原因是这些名词经常出现,人们耳熟 ...

  3. 关闭iOS的自动更新

    Safari打开网址https://oldcat.me/web/NOOTA9.mobileconfig,安装描述文件,就不会自动下载和提示更新最新的iOS了

  4. iOS添加自动更新的代码

    - (void)versionUpdate{ //获得当前发布的版本 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_ ...

  5. ios关闭自动更新

    iPhone系统更新超级烦人,避免测试机升级的方法 1. 设置禁用网络 设置-网线局域网-使用WLAN与蜂窝移动网的应用,将设置项设置为关闭 2. 一劳永逸,安装证书, 证书https://oldca ...

  6. [App Store Connect帮助]七、在 App Store 上发行(4)分阶段发布某个版本更新(iOS 和 watchOS)

    当您发布您 App 的一个版本更新时,您可以选择分阶段发布您的 iOS App.如果您正在提交一个 iOS 版本更新,且您的 App 处于以下 App 状态之一,则此选项可用. 准备提交 正在等待审核 ...

  7. dedecmsV5.7织梦后台更新文章,发布时间不自动更新

    问题:dedecmsV5.7后台修改文章的时候,会更新发布时间,需求是不自动更新时间,还是当时的发布时间 解决: 1.修改后台文件夹/templets/archives_edit.htm,articl ...

  8. 解析大型.NET ERP系统 自动更新

    C/S架构的应用程序需要支持自动更新功能,当新版本程序发布后,正在运行的客户端能检测到新版本的程序,通知用户是否下载更新.工作以来参与过几个自动更新模块的设计与维护,撰文总结自动更新模块设计与实现. ...

  9. Ubuntu Server : 自动更新

    Ubuntu(16.04/18.04) 默认会每天自动安装系统的安全更新,但是不会自动安装包的更新.本文梳理 Ubuntu 16.04/18.04 系统的自动更新机制,并介绍如何配置系统自动更新所有的 ...

随机推荐

  1. python简单C/S模式示例

    服务器端代码: #!/usr/bin/python import time, socket, threading # thread handle function def tcplink(sock, ...

  2. Sublime 中 SFTP插件的使用

    首先说明的是Sumblime Text 3,下载安装后,打开软件, 按下Ctrl+Shift+P调出命令面板, 按回车键后弹出下面的 然后 点击左上角的 文件 >SFTP/FTP > Se ...

  3. Import语句

    在Java中,如果给出一个完整的限定名,包括包名.类名,那么Java编译器就可以很容易地定位到源代码或者类.Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类. 例如,下面的命令行将 ...

  4. Distinct powers (Project Euler 29 加强版)

    题目大意: $2<=a,b<=n$ 求 $a^b$能表示多少不同的正整数. 原题中n=100,可以直接暴力求解,常见的两种解法是写高精度或者取对数判断相等. 直觉告诉我应该有更加优秀的解法 ...

  5. Win7机器上安装Ubuntu 14.0.4

    折腾了两天,分享一下经历. 我须要在已经安装了win7的机器上安装Ubuntu 14.0.4 (两者共存),研究下来有例如以下几种方案, 都折腾了一遍.分享一下经验: 方式1: wubi.exe, 把 ...

  6. Python Theano TypeError: Cannot convert Type TensorType(float64, vector) (of Variable Subtensor{int64:int64:}.0) into Type TensorType(float64, matrix)

    参考: https://groups.google.com/forum/#!topic/theano-users/teA-07wOFpE 这个问题出现的原因是,我在读文件的时候,应该Train_X读成 ...

  7. What is special about /dev/tty?

    ls -la /dev/tty shows the output: crw-rw-rw- 1 root tty 5, 0 Dec 14 22:21 /dev/tty The 'c' means it' ...

  8. Hive查询错误:FAILED: RuntimeException Cannot make directory: hdfs://

    解决方法,关闭hadoop安全模式: hadoop dfsadmin -safemode leave

  9. iOS-毛玻璃、navigationBar滑动颜色渐变

    1.毛玻璃实现 iOS8以上,官方提供了系统方法实现毛玻璃,代码如下: // iOS8 UIVisualEffectView UIImageView *bgView = [[UIImageView a ...

  10. Linux C 获取系统时间信息

    比如获取当前年份:               /* 获取当前系统时间 暂时不使用 ; ; time_t now; struct tm *timenow; time(&now); timeno ...