跳到主要内容

发布与回滚策略

问题

如何设计安全的 iOS 发布流程?出问题如何回滚?

答案

发布流程

灰度策略

阶段比例时间关注指标
TestFlight团队1-2 天功能验证
Phased Release Day 11%1 天Crash 率
Day 22%1 天关键指标
Day 3-75-100%渐进全面监控

iOS 回滚方案

iOS 限制

Apple 不支持回退到旧版本!用户一旦更新无法降级。

替代方案

// 1. Feature Flag 关闭有问题的功能
if RemoteConfig.shared.getBool("disable_new_checkout") {
showOldCheckout()
} else {
showNewCheckout()
}

// 2. 紧急发版
// App Store 急审(通常 24h 内),提交修复版本

// 3. Phased Release 暂停
// App Store Connect → 暂停分阶段发布 → 只影响未更新用户

止血清单

  1. 暂停 Phased Release(5 分钟)
  2. Remote Config 关闭问题功能(10 分钟)
  3. 提交修复版本 + 请求急审(24h)
  4. 复盘:写事故报告

常见面试问题

Q1: App Store 急审有什么要求?

答案:通过 Apple 急审通道申请,需说明崩溃或安全问题。通常 24h 内审核完成。日常版本不要滥用,否则会影响后续申请。

相关链接