這兩天,網(wǎng)上流傳的一則消息讓不少蘋果手機(jī)的使用者“炸開了鍋”,據(jù)說也有不少人“好奇害死貓”,非要嘗試一下,結(jié)果引來自己的愛機(jī)“以身殉職”。
該消息稱,把iPhone手機(jī)的時(shí)間設(shè)定為1970年1月1日,然后關(guān)機(jī)再開機(jī),手機(jī)就很有可能變成一塊“磚頭”,無法啟動(dòng),直到電池電量耗盡。據(jù)說,目前運(yùn)行iOS8或更新系統(tǒng)的64位處理器設(shè)備幾乎無一幸免,32位處理器設(shè)備則沒有受到影響。
現(xiàn)在,蘋果官方終于對此事做出了回應(yīng),確認(rèn)如果將系統(tǒng)時(shí)間手動(dòng)設(shè)置為1970年5月或者更早,iPhone、iPad、iPodtouch將會(huì)無法重啟。

為何會(huì)產(chǎn)生這一bug?
關(guān)于這個(gè)bug,你需要了解的一個(gè)知識(shí)是Unix時(shí)間戳。
iOS系統(tǒng)時(shí)間使用Unix時(shí)間戳(Unixepoch)表示(time_t數(shù)據(jù)類型)。Unix時(shí)間戳規(guī)定,UTC時(shí)區(qū)的1970年1月1日0點(diǎn)0時(shí)0秒的值為0,以秒為單位,即每過一秒,二進(jìn)制數(shù)字加1。
正常來說,時(shí)間流逝為正數(shù),但需要注意的是時(shí)間會(huì)受到時(shí)區(qū)的影響。
例如,在北京時(shí)區(qū),將iPhone時(shí)間設(shè)置到了1970年1月1日0點(diǎn)0時(shí)0秒,那么將這個(gè)時(shí)間轉(zhuǎn)換為UTC時(shí)間(公式:北京時(shí)間=GMT+8=UTC+8),那么UTC時(shí)間則會(huì)變成1969年12月31日16時(shí)0分0秒。這樣就會(huì)出現(xiàn)時(shí)間負(fù)值,即時(shí)間回歸bug觸發(fā),系統(tǒng)啟動(dòng)卡在Kernel階段,時(shí)間錯(cuò)誤,無法繼續(xù)進(jìn)行啟動(dòng)。
值得一提的,當(dāng)iOS設(shè)備連接到公共網(wǎng)絡(luò)時(shí),iOS系統(tǒng)將會(huì)使用NTP服務(wù)對時(shí)區(qū)、時(shí)間進(jìn)行校準(zhǔn)。如果黑客發(fā)送惡意的NTP攻擊,將iOS系統(tǒng)時(shí)間校準(zhǔn)至UTC<0的時(shí)間,那么所有用戶設(shè)備均會(huì)受到此bug影響,在重新啟動(dòng)設(shè)備后無法使用設(shè)備。

如果已經(jīng)變磚了怎么辦?
據(jù)悉,所有系統(tǒng)版本為iOS8.0至iOS9.3beta3,并且搭載64位處理器(即處理器為A7~A9X的設(shè)備)的蘋果設(shè)備都會(huì)觸發(fā)這個(gè)bug。

會(huì)受影響的蘋果設(shè)備一覽
那么因?yàn)楹闷?,而已?jīng)去嘗試了一把的果粉們該怎么辦?
方法一,你可以拿著變磚的iPhone去找蘋果售后。蘋果官方稱,受到該問題影響的任何用戶都應(yīng)該聯(lián)系蘋果技術(shù)支持以尋求幫助。
不過,據(jù)外媒報(bào)道,根據(jù)iOS用戶反饋,他們在蘋果技術(shù)支持那里獲得的處理方式并不一樣:有的用戶稱,蘋果會(huì)直接更換了他們的設(shè)備,還有的用戶則被“拒絕”(整機(jī)更換)了。
對了,因?yàn)椴簧偃撕芎闷孢@個(gè)Bug,但舍不得拿自己的iPhone做試驗(yàn),就跑到蘋果店里把人家的展示用iPhone、iPad給玩死了……可能現(xiàn)在AppleStore的員工有點(diǎn)自顧不暇了。
方法二,如果不想去蘋果店維修的用戶,可以參考“民間”解決方案:切斷iOS設(shè)備電源,放置10分鐘后再重新連接電源,設(shè)備之后會(huì)重置時(shí)間,變磚的問題就解決了。不過,想要切斷iOS設(shè)備電源意味著,需要拆機(jī)并拆出電池……
方法三,電量充足的情況下,等待數(shù)小時(shí),當(dāng)Unix時(shí)間戳的數(shù)值大于等于0,系統(tǒng)時(shí)間生效,可正常開機(jī)。