今天,国外网友炸锅了。
他们发现自己设备上的iOS应用都在疯狂崩溃,一大堆 App 受到了影响。
要知道,现在国外疫情严峻,大家都只能宅在家玩手机,遇到这种情况真的要命。。。
小众软件也就不提了,像TikTok(抖音国际版)、Quora(类似知乎)、Spotify(音乐软件)、Pinterest(图片社交软件)这样的主流软件也都跪了。
这些软件的常用程度,跟咱们手机上的抖音、网易云音乐、知乎、微博等等差不多。
就是下面这样。。。
软件崩了,网友们只是暂时用不了,最多发发推骚扰一下各大 App 而已。
但以维护软件为工作的程序员们就不一样了,他们都快哭了。。。
很快程序员们就开始找起元凶,针对网上发布的崩溃日志分析了起来,最后不少人把罪魁祸首指向了小扎的 Facebook 。
具体而言,这个锅得 iOS 版的 Facebook SDK 来背。。。
Facebook 大家都不陌生,没想到这位坐拥 30亿用户的社交软件巨头也有这么翻车的一天。
但 Facebook 翻车管其他软件屁事?怎么其他软件就被坑了呢?
这事还得从 SDK 说起。
SDK 就是软件开发工具包,有些公司会出售自己软件的某一功能,把它封装成一个包,其他需要这个功能又不想从头开发的公司,可以直接氪金了事。
举个例子,滴滴出行。
在选择目的地时,滴滴会自动获取用户的当前位置,或者让用户在地图上选择一个上车点。
这些功能对于滴滴这样的出行公司来说,可以说是重要的一匹!~
但。。。
再来!~
尽管这些功能非常重要,但是滴滴没有必要再自己开发一次,说白了,没必要重复造轮子。
他只需要找成熟服务商购买自己需要的 SDK ,再加入到自己的软件中,需要的时候调用相应的接口就能方便、快捷的完成相应的效果。
他只用在完成后,对最后结果进行呈现就可以了~
这样的好处显而易见,开发一套功能的成本是巨大的,开发后还需要调试,可能还会出现问题。
直接花点钱跟成熟的服务商购买省事又省时。
对于拥有成熟功能的公司这也是一件好事,把自己开发出来的功能卖给需要的人,也是一笔营收~
Facebook 作为顶级互联网大厂,当然也有不少 SDK 。
这次出问题的,就是 Facebook 的一个用来支持 Facebook 共享、签到、登录的 SDK 。
软件用了这个 Facebook SDK ,在启动环节就会调用,往 Facebook 服务器上发送相关指令。
有网友通过崩溃代码分析出,FB SDK从FB服务器那边收到了一个限制性的参数,但是这个参数的类型跟所需要的类型不匹配。
你通过家政公司叫了一个保姆来搞卫生,结果来了一个电工,可不得崩溃么。
从程序运行的角度来说,返回的参数类型对不上号,程序没法理解自然就崩了,连带着拖累了所有使用这个 SDK 的软件。。。
目前 Facebook 没有正面回应这个事情,但是在出现问题后的 3 个小时后在服务器上发布了一个补丁。
所以这一波操作把这么多软件都给搞炸了。
不得不说, SDK 的存在大大方便了技术实现,造轮子多麻烦啊,直接拿成熟的轮子来用简直爽。
但谁会想到呢,就算你拿的是坐拥 30亿用户的 Facebook 的轮子,也有可能翻车翻到水沟里去。。。
腾讯地图、滴滴出行、推特、GitHub 极客公园《Facebook月活用户首次超过30亿,巨头依旧在增长》 站长之家《Facebook修复SDK漏洞导致TikTok等多个主流iOS应用程序崩溃》