小扎的Facebook,搞炸了幾十萬個iOS應用程序

今天,網友發現自己設備上的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 個小時後在伺服器上發佈了一個補丁。

但是因為這個 Facebook SDK 實在太多人用了,17 年的時候網友曾在 Quora 上說明過這個 SDK 有 20 多萬個軟體在用。

所以這一波操作把這麼多軟體都給搞炸了。

不得不說, SDK 的存在大大方便了技術實現,造輪子多麻煩啊,直接拿成熟的輪子來用簡直爽。

但誰會想到呢,就算你拿的是坐擁 30 億用戶的 Facebook 的輪子,也有可能翻車翻到水溝裡去。。。

參考資料、圖片來源:

騰訊地圖、滴滴出行、推特、 GitHub

極客公園《 Facebook 月活用戶首次超過 30 億,巨頭依舊在增長 》

站長之家《 Facebook 修復 SDK 漏洞導致 TikTok 等多個主流 iOS 應用程序崩潰 》

相關文章

這次,輪到奔馳把自己玩壞了。

這次,輪到奔馳把自己玩壞了。

昨天的一條訊息是讓脖子哥我虎軀一震:納尼?奔馳打算把自己的電動車品牌砍了? 根據德國 Handelsblatt 的報道,奔馳計劃最早在 20...

三星真的要走了?

三星真的要走了?

其實最近TikTok在美國的遭遇不過是場大鬧劇的延續,中興、華為和字節跳動三家的不同反應、不同境遇佔據了輿論場的中心,這讓很多人有了一種錯覺...