导语:不作死,就不会死;不设置,就不变砖。
最近几天,苹果的粉丝圈里都在传这样一个消息,说是——把iPhone手机的时间设定为1970年1月1日,然后关机再开机,手机就很有可能变成一块“砖头”,再也没法使用了。
1
“穿越”回1970后手机变砖
这一消息传出后,有不少果粉大胆尝试,然后……
还有一位知乎用户“滕腾”称,按照此法操作后,得到了三个暖手宝:
相信手痒的不止以上这些用户。至于如何解决变砖的问题,有的用户称,发现手机在4个小时后自动恢复;有人说换了电话卡就可以接着用了;也有国外一位貌似苹果天才吧的工作人员给出了一个解决方案:
每经小编()打探到的比较靠谱的自行解决方法是:可以先将iOS设备拆机并拆出电池,放置10分钟后重新安装。或者在电量充足的情况下,等待数小时,当Unix时间戳的数值大于等于0,系统时间生效,可正常开机。
当然,最靠谱的还是寻求苹果售后帮助。
2
原因:Unix系统的时间戳问题
为什么会有改了改时间就“变砖”的情况发生?微信公众号“差评”(chaping321)是这样解释的:
苹果的iOS系统,用的是Unix的时间戳(就是系统记录时间的东西)。Unix的时间戳呢,是利用二进制位来储存时间的(就是0和1的变换)。
下面是个类似的例子:
这些个0和1每秒变一下,就代表了我们所感知的时间。
如果你去“设置”里面的“时间和日期”,调一下,会发现iPhone能设置的最早时间是1970年1月1日,早上8点(因为北京时间+8)。
对于Unix来说这就是时间的起点——那时间的终点呢?
对于32位的苹果系统来说,是2038年1月19日3时14分07秒
对于64位的苹果系统来说,约2900亿年后的292,277,026,596年12月4日15:30:08,星期日(太阳还能活50亿年)
这里的Unix的时间戳bug只对64位的苹果系统有效……中招的设备,如下:
当你把时间设到了Unix的原点……1970年1月1日,那你的最后一次通话记录,或者电池统计,或者某个APP上次的更新时间,就会变成“负值”
我们再仔细看下刚才那个动图,这是32位系统的情况。。
时间在到达2038的那个时间终点后,跳回到了起点。
同样的二进制的道理,上面我们所说的“负值”其实跳到了约2900亿年后的292,277,026,596年12月4日.
然后,在iPhone重启的过程当中,某个timecheck的地方(目前谁也不知道),就直接当掉了。。。
不过,苹果店里的新机不会中招,因为新机没有太多的历史记录。
3
苹果官方承认存在漏洞
昨天(2月15日),苹果已经正式在其支持网站上承认了这一问题。苹果表示,公司即将发布一个系统更新,以防该问题在未来影响iOS设备。
图据苹果官网
苹果还表示,受到该问题影响的任何用户都应该联系苹果技术支持以寻求帮助。
目前还不清楚苹果“即将推出的系统更新”是等到,还是就像那样提前推出一个OTA漏洞修复版本,以尽快解决日期设定导致设备变砖的问题。
小编认为,虽然苹果方面有了正式回复,但是大家还是不要轻易尝试了,否则可能会后悔……
每日经济新闻综合都市快报、差评、凤凰科技、知乎、网络消息