最近,微软这个知名公司在iPad上出了点岔子。他们家的AppStore里的Outlook,版本号5.2602.0,在苹果的iPad设备上出问题了。用户试着打开这个软件的时候,有时候完全没反应,有时候直接闪退,甚至直接卡死。这下大家的工作和通信都受到了不小的影响。 微软自己说了,这个问题不是因为外面的攻击,也不是因为跟系统不兼容。毛病出在他们自己搞开发的时候。开发人员之前对Feature Flags进行了一次改动,想让更新变得更顺滑点。Feature Flags是个挺有用的技术,让开发者不用发个新应用,就能动态控制某个功能开不开。可是这次调整逻辑的时候,代码里出了点小差错。这个小差错让应用在iPad上启动的时候触发了内部冲突,结果程序就崩溃了。 出了事之后,微软的工程师很快行动起来,已经把修复程序弄好了。不过修复补丁还得先经过苹果公司App Store的审核流程。因为这一步通常要花点时间,微软估计这个修复版本得等24小时左右才能正式上架并推送给所有用户。这事儿也说明了一点:在iOS这个生态里,像微软这样的大公司也得遵守平台方的规则。 为了不让用户的工作太受干扰,微软也想了个临时办法。他们建议用户把iPad上的“飞行模式”打开,断了所有的网络连接。然后在这个状态下打开Outlook应用,等软件加载进界面后再恢复Wi-Fi或者蜂窝网络。这个办法其实是为了绕过应用启动时尝试连接服务器处理有问题的Feature Flags逻辑这一步。 这次事故虽然只是特定版本和特定设备上的问题,但也引起了不少讨论。大家觉得,哪怕是后台小小的改动,也得做足跨平台多场景测试才行。还有人觉得苹果App Store的审核机制虽然保证了安全和质量,但在处理紧急修复的时候有时候也显得有点慢。 微软对这个问题快速确认并解释清楚原因、还提供临时解决办法的做法显示了他们对产品稳定性的负责态度。这次事故也让我们看到现代复杂软件在持续更新时面临的挑战。预计修复版本审核通过之后用户体验就会恢复正常了。这次案例也给行业提了个醒:开发流程要严谨点、测试要全面点、紧急响应机制也要建立好才行。