当把iPhone设为1970年1月1日,会有一道白光!

  

当把iPhone设为1970年1月1日,会有一道白光!

  大家虐狗节快乐啊,差评君回来喽。。。

  

当把iPhone设为1970年1月1日,会有一道白光!

  我想死你们了。。。回头和大家分享一下差评君春节遇到的趣事。。

  今天先说正事,苹果手机的“1970年1月1日”之谜。。。

  恩,告诉大家一个秘密。。如果把苹果的时间设置在1970年1月1日,关机并重启的话。。

  你会看到乔帮主留给我们的最后一个彩蛋。。。

  

当把iPhone设为1970年1月1日,会有一道白光!

  

当把iPhone设为1970年1月1日,会有一道白光!

  手机的开机画面,会变成苹果的复古logo哦。。

  *

  *

  *

  。。

  。。其实我在开玩笑。。

  你这样做的话,手机就会立刻变砖!!!

  也许你不信。。。但许多朋友已经大义凛然的亲测了。。

  12月12日晚、原答案、当我看到这个问题我是不想回答的、我不能因为你说会变砖就变砖、我要试一下才能来回答的、结果我试了一下、

  

当把iPhone设为1970年1月1日,会有一道白光!

  

当把iPhone设为1970年1月1日,会有一道白光!

  

当把iPhone设为1970年1月1日,会有一道白光!

  

当把iPhone设为1970年1月1日,会有一道白光!

  恩,都说知乎网友,论证严谨,以前我不信。。。

  很多差友也可能已经听说这事儿了,但大部分媒体包括外媒的解读都是“我们也不知道为什么,但是肯定会变砖”。

  好吧,随差评君来看看具体是怎么个事儿吧~

  这个bug最初的源头是在reddit(类似国内的知乎),一个叫vista980622的网友发了一个帖子。。。

  

当把iPhone设为1970年1月1日,会有一道白光!

  大致说了一下自己无意间发现了这个bug,变砖。最后是以拆机的方式解决的。并且指出,黑客可以建立一个公共的WIFI,在连上后,利用这个漏洞让他人的手机变砖。

  然后,讨论区下面一位貌似苹果天才吧的工作人员在昨天给出了一个解决方案:

  “Can confirm the solution. Our Genius team worked through a few steps and came to the conclusion that disconnecting the battery and reconnecting fixes the issue and allows the phone to boot to the lock screen.

  At least we know how to fix it now and avoid those phone swap outs.

  We've passed this info on globally to the relevant Apple Support teams.

  It should be common knowledge to all stores worldwide by tomorrow.”

  “可以确认这个解决方案。我们天才吧的团队试了几下,发现卸掉电池,再连接上,就能恢复手机。

  至少我们现在知道如何解决这个问题,以及避免它发生了。

  我们已经把这个消息传递给了全球的苹果售后支持团队。

  明天全世界的Apple Store都会知道这个“常识性”的解决方案。”

  差评君看了下,很多朋友通过这个方案,已经救回了自己的手机,中招的朋友,不怕,还有挽回的余地。

  可是,这一切究竟是为什么呢。。。

  

当把iPhone设为1970年1月1日,会有一道白光!

  大概是这样的,苹果的iOS系统呢,用的是Unix的时间戳(就是系统记录时间的东西)。Unix的时间戳呢,是利用二进制位来储存时间的(就是0和1的变换)。

  下面是个类似的例子:

  

当把iPhone设为1970年1月1日,会有一道白光!

  这些个0和1每秒变一下,就代表了我们所感知的时间。

  但是Unix的时间戳有个规定,时间的起点是1970年1月1日0点0时0秒。

  如果你闲的蛋疼,但是可以去设置里面的时间和日期,调一下,你会发现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位的苹果系统有效。。中招的设备,如下:

  

当把iPhone设为1970年1月1日,会有一道白光!

  好,关键的来了。

  当你把时间设到了Unix的原点。。。1970年1月1日

  那你的最后一次通话记录,或者电池统计,或者某个APP上次的更新时间,就会变成“负值”...

  我们再仔细看下刚才那个动图,这是32位系统的情况。。

  

当把iPhone设为1970年1月1日,会有一道白光!

  时间在到达2038的那个时间终点后,跳回到了起点。

  同样的二进制的道理,上面我们所说的“负值”其实跳到了约2900亿年后的292,277,026,596年12月4日.......

  然后,在iPhone重启的过程当中,某个time check的地方(目前谁也不知道),就直接当掉了。。。

  换言之,如果iPhone强制性的把最早能设置的时间变为1980年,就没有问题了。因为,没有人在10年前,用iPhone“打过电话”。

  这也间接解释了为什么今天一个记者去了苹果店,在新的iPhone 6s样机上操作了这个bug,重启后没事,但是在自己的5s上却中招的事。

  

当把iPhone设为1970年1月1日,会有一道白光!

  因为新机没有太多的历史记录。

  

当把iPhone设为1970年1月1日,会有一道白光!

  不过,挺可惜的一点是,苹果官方至今未回应这个问题。

  那个非官方的评论,说全球的苹果店今天都会知道这个解决方案。但事实上,据差评君所知,苹果的400客服和杭州的Apple Store甚至还不知道这个事儿的存在。

  苹果公司第四季度的数据也已经出来了,虽然新推出了iPhone 6s系列,但同期iPhone营收只有516.53亿美元,同比增长仅0.89%,iPad和Mac的销量亦双双下滑,分别下跌25%和4%。

  要加油啊!

原文地址:https://www.77169.com/news/HTML/20160216134731.shtm

0

相关文章

发表评论

电子邮件地址不会被公开。