日期设为1970年1月1日导致64位iOS设备无法启动的原因及解决办法

2016年2月14日12:01:40 评论 858

近日业界爆出苹果设备的一个bug,如果将一台搭载64位处理器的iphone、ipad的系统日期修改为1970年1月1日,将导致此设备无法正常启动(设备启动时,卡在苹果Logo,无法继续启动)。需要送到苹果商店修理,修理方法很简单,只需切断电池然后重新连上。这个bug影响运行iOS 8或iOS 9,配备64位处理器的iPhone、iPa和iPod Touch设备。本文将分析下引起这个bug的原因及解决办法:

日期设为1970年1月1日导致64位iOS设备无法启动的原因及解决办法

日期设为1970年1月1日导致64位iOS设备无法启动的原因:

苹果iOS系统时间使用Unix时间戳(Unix epoch)表示(time_t数据类型)。在系统中,使用系统位数个二进制位储存时间。Unix时间戳规定,UTC时区的1970年1月1日0点0时0秒的值为0,以秒为单位,即每过一秒,二进制数字加1。不过各位需要留意的是,时间受到时区的影响。假设一种情况,我原来是北京时区,假设将时间设置到了1970年1月1日0点0时0秒,那么我将这个时间转换为UTC时间,公式:北京时间= GMT+8 = UTC+8,那么UTC时间则为1969年12月31日16时0分0秒。这样就会出现时间负值,导致iOS系统启动卡在Kernel阶段,时间错误,无法继续进行启动。

日期设为1970年1月1日导致64位iOS设备无法启动问题的解决方案:

方案一:送到苹果商店修理,由专业人员拆机并拆出电池,放置10分钟后重新安装。

方案二:在iphone、ipad电量充足的情况下,等待数小时(如你手机设置的为东8区,那就等待8个小时以上),当Unix时间戳的数值大于等于0,系统时间生效,可正常开机。(此方法未经官方确认)

更新:

苹果官方已经确认存在以上Bug且承诺会在下一个iOS版本上解决该问题。

avatar
学习强国退出学习组织的方法 手机系统

学习强国退出学习组织的方法

“学习强国”学习平台是由中共中央宣传部主管,以习近平新时代中国特色社会主义思想和党的十九大精神为主要内容,立足全体党员、面向全社会的优质平台。 2019年1月1日,“学习强国”学习平台在全国上线。 2...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: