首頁>Club>
7
回覆列表
  • 1 # 貝西科技

    早前一名歪果仁在某國外論壇發了一個“把iPhone時間改成1970年1月1日,手機即可永遠變磚”的帖子。經過網際網路傳播發酵迅速傳播到國內,而國內一大批“好奇害死貓”的使用者紛紛嘗試導致中招。執行iOS 8以上系統的64位處理器的裝置幾乎無一倖免,把iPhone、iPad或iPod touch的時間設定為1970年1月1日,然後關機再開機,手機就變成一塊“磚頭”。

    隨後蘋果官方確認了此BUG並公佈了受影響的機型,並表示會在未來發布軟體更新,修復問題。

    說起此次蘋果“1970 事件”產生的bug,就不得不提起iOS系統是基於Unix系統,而這個bug更準確的是由於Unix時間戳引起。而1970年1月1日對程式設計師來說是個特殊的日子,系統誕生初期程式設計師為了更好的計算時間故採用整數,將1970年1月1日零點設為0,然後按秒計算後來的時間。而Unix時間戳規定,UTC時區的1970年1月1日0點0時0秒的值為0,以秒為單位,即每過一秒,二進位制數字加1。而將時間調整到此日期之前這樣就會出現時間負值,即時間迴歸bug觸發,系統啟動卡在Kernel階段,時間錯誤,無法繼續進行啟動。至於為何只在64位處理器的蘋果裝置上出現這種問題,是因為舊處理器都是32位的,當將它的程式設計改寫成64位的時,可能就會出現bug。

  • 中秋節和大豐收的關聯?
  • 過元旦和過農曆新年有什麼區別嗎?為什麼過了農曆新年才算是過年呢?