首頁>科技>

今天,國外網友炸鍋了。

他們發現自己裝置上的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 的輪子,也有可能翻車翻到水溝裡去。。。

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 華為再被谷歌勒緊脖子,鴻蒙系統必須上了