我正在编写一个很大程度上基于日期的应用程序,并且为了与闰年相关的调试目的,我在一些日期之间来回更改我的系统时钟。在将我的系统日期设置为 2012 年 2 月 13 日之后,我无法与我的核心数据对象进行交互。
我曾多次尝试删除应用程序(从模拟器中)、构建和重建,但似乎没有任何效果。我无法将新对象添加到数据库(并且当我仍然有一个已填充的数据库时无法检索它们)。
我所做的与核心数据无关的任何其他更改似乎都能正确显示。我也对模拟器进行了重置,但没有解决问题。
知道哪里出了问题吗?
最佳答案
首先,我有一个关于时钟测试的一般性建议:
在针对不同的时钟设置进行测试时使用虚拟机。这样,当您搞砸系统时,您不会搞砸您的实际开发系统。您可以轻松地将 VM 恢复到已知的工作状态。
话虽如此,您眼前的问题可能是某个文件的时间戳是在遥远的 future 创建的,这会导致其他事情因时间戳不正确而无法发生。如果问题确实是一个文件,您可以在您的磁盘中搜索 future 日期的文件。如果时间戳存储在内部某处,那么您可能需要重新安装一些。
关于objective-c - 由于更改系统时钟导致的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987206/