您现在的位置: 贯通日本 >> 数码 >> 手机 >> 其他 >> 正文

分析为何苹果iOS6勿扰模式会出现新年bug

作者:陈淏轩  来源:iPhone中文网   更新:2016-2-1 11:22:55  点击:  切换到繁體中文

 

2013年新年伊始,苹果iOS 6中搭载的“勿扰模式”就被曝光出现失效的bug,后来苹果很快做出官方回应,称该问题将在1月7日自动修复,建议用户这几天关闭该功能。那么iPhone中为何会出现此问题呢,而为何7号又会自行修复呢?实际上这很可能是一种时间计算方式出现了问题,原因可能在于苹果采用了ISO制式时间标准,却没有考虑到跨年对应的问题导致时间对应错乱。



国外TUAW网站首先刊出类似推测,但其中有严重ISO时间概念错误已经被指出;本文是在其基础上进行的重新整理和推测


ISO标准(制造业常使用该标准,也称作商业历)是这样按照周数来显示计算每年的日期的:YYYY-Www-D


举例说明:2012年第50周的星期二按照ISO标准以描述为:2012-W50-2


公历日期(Gregorian calendar)则是按照这样的方式来显示计算日期的:YYYY-MM-DD


举例说明:2012年12月11日公历日期的描述:2012-12-11


其实iOS日期的2012-W50-2 刚好对应 公历的2012-12-11


而是ISO标准下,如何判定新年另有规定:自动判定新年包含第一个周四的那周为第一周,也就是说:


2012年12月30日:2012-W52-7


2012年12月31日:2013-W01-1


2013年1月1日:2013-W01-2


2013年1月2日:2013-W01-3


2013年1月3日:2013-W01-4(周四)


2013年1月4日:2013-W01-5


2013年1月5日:2013-W01-6


2013年1月6日:2013-W01-7


2013年1月7日:2013-W02-1


这里就是苹果iOS 6“勿扰模式”出现bug最可能存在的问题,苹果设定这个功能的时候,很可能使用了ISO时间制式采用周循环,但是却没考虑到跨年变动的问题,设定的时候,误将2013年的第一个周循环设定为从1月7日开始,而2013新年前六天(可能)被判定为2012年的第53周(ISO制式的确在某些年份会出现第 53周),但事实上根本就不存在这些时间,所以勿扰模式并没有自动关闭。


在现有iOS 6系统尚未进行任何软件更新的情况下,大家可以进行这样一个测试来巩固上面的说法:把时间调整到2014年、2015年、2016年……只要新年的第一天是周五、周六、周日,就不会出现问题(前提是要提前一天设定勿扰模式,不可当天设定,当天设定会变成周日也不行)。


对于苹果的做法来说,没有在这几天发布一个软件更新补丁,而是让用户等待这端错乱时间结束,可能是出于多方面考虑,但毫无疑问的是,此次的bug绝对是苹果在制定“勿扰模式”功能的时候,在跨年日期计算上出了差错,并非意外。


而苹果也会在未来的软件更新中修复这一问题,所以大家根本不必担心2014年的时候会出现该问题(要是谁不升级系统就当我没说…)



 

数码录入:贯通日本语    责任编辑:贯通日本语 

  • 上一篇数码:

  • 下一篇数码:
  •  
     
     
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     

    手机脏了洗洗就好了 日本京瓷推

    这款日本智能手机可以用肥皂和

    苹果日本AI研发中心将于3月正式

    索尼正式进军手游市场 明年发布

    日本众筹VR美少女“陪睡”计划

    日本众筹VR美女陪睡游戏 200万

    广告

    广告