@ 2016.02.17 , 09:04
54

iPhone日期设回1970年,为何会使它“变砖”?

[-]

上周,网络上盛行一则冒险帖,鼓励人们把iPhone日期设定回1970年,看看会产生什么“疯狂”的结果。实际上,这是一个刚被人发现的bug:当你将iPhone的内部日期设定为1970年1月1日时,手机会立刻“变砖”,重启之后完全无法使用。好奇心害死猫,蛋友们千万别尝试。

也许这个故障早就被发现了,但它近期才在网络上刮起一阵风暴——网站和社交媒体上流传着一张刻意误导人的图片,如下图所示。它效仿苹果的宣传资料,呼吁人们更改设备日期,然后重新启动,来一场“疯狂之旅”。它暗示人们将在70年代风格的苹果图标中发现一颗“复活节彩蛋”。不幸的是,实情并非如此,真正的后果是昂贵的iPhone“变砖”了。

[-]

重启后的设备无法操作,无法通过iTunes的备份进行恢复,甚至连苹果店的“天才”员工也无法修复此问题——这意味着你该买一台新手机了。另外,不仅iPhone如此,iOS8或iOS9的iPad和iPod touch也受影响。不过,似乎只有64位处理器的较新iOS设备才受影响,包括iPhone 5s及较新款、iPad Air及较新款、iPad mini2及较新款、第六代iPod touch。(但即便手持老款苹果设备,我们也不建议你们玩火。)

那么,这个bug为何会使iPhone“变砖”呢?撰写此文时,苹果尚未证实任何事情(现已证实变砖bug);但人们推测,将日期设定回1970年1月1日会引发“整数下溢错误”。1970年1月1日恰好是Unix计算机系统处理时间的基础日期,它被称为“Unix新纪元”。对Unix计算机而言,这个日期是Day Zero(第0天),所有后续日期都是在此基础上进行计算。

人们推测,当日期设定回1970年1月1日时,手机里的软件很可能会试图计算其它古老事情(比如电池寿命估计),而这些“其它相关事情”的时间日期发生于第0天之前。目前,手机无法做到这一点,因此iPhone会彻底变砖。在苹果发布解释之前,没有人知道这个理论是否是导致问题的确切原因。不过,对于绝大多数人而言,与其理解问题根源,不如知道禁忌所在:别手贱。

本文译自 sciencealert,由译者 蛋花 基于创作共用协议(BY-NC)发布。


给这篇稿打赏,让译者更有动力
支付宝打赏 [x]
您的大名: 打赏金额:

3.9
赞一个 (54)

TOTAL COMMENTS: 54+1

[2] 1 »
  1. 3129788

    其实1970年发生了一场命案,那天有个17岁的美国青年用着手机,图片手机爆炸了,他死了,于是,他的灵魂就在设置成那一天的手机里作怪。

    编的

  2. 广告
    @1 year ago
    3070966

    骗子糊弄人

  3. 呵呵
    @2 years ago
    3066106

    中国程序员可解

  4. __func__
    @2 years ago
    3065901

    @Emp: 目前的冯诺伊曼和哈佛架构就是这样,数据不区分类型统一存储,只要程序员忘记判断类型边界就会发生溢出。而区分类型的存储架构无论从经济上还是性能上都是不可接受的。唯一可能避免这类问题的方法就是在程序设计语言上做强制类型检查。

[2] 1 »

发表评论


24H最赞