Monday, February 15, 2016

Apple Will Fix 'January 1, 1970' Date Bug in Upcoming iOS Update

Apple has officially acknowledged the "1970" date bug affecting 64-bit iPhone, iPad, and iPod touch devices. The support document does not identify a current fix, but Apple said that an upcoming iOS software update will prevent the issue.

    Manually changing the date to May 1970 or earlier can prevent your iOS device from turning on after a restart. An upcoming software update will prevent this issue from affecting iOS devices. If you have this issue, contact Apple Support.

Manually changing an iOS device's date to January 1, 1970 results in a continuous reboot cycle, effectively bricking the device. Restoring through iTunes in DFU Mode may work for some users, while others have resorted to hardware fixes.

Apple has not provided a reason for the bug, but YouTube video maker and programmer Tom Scott speculates that setting the date close to January 1, 1970, which is 00:00:00 in Unix time, may be resulting in an integer underflow -- in this case, a date prior to January 1, 1970.

iOS then handles the underflow by returning the negative integrer to the maximum value, which Scott says results in a date that is some 20 times longer than the universe is expected to last. Scott believes iOS may have difficulties handling this large number, resulting in affected devices crashing.

German website Apfelpage.de shared a second YouTube video showing that opening an iPhone and resetting its battery could fix the problem, but this method could damage your smartphone and void your warranty. The safer option is to visit a Genius Bar or contact Apple Support online or by phone.

iOS is a Unix-based operating system, and Unix time starts at 00:00:00 UTC on January 1, 1970. Apple does not allow you to manually set your iOS device to a date prior to then, likely in an effort to prevent a bug like this, but changing the date to May 1970 or earlier still causes issues on 64-bit devices.

No comments:

Post a Comment