我使用这个代码,以确定我的iOS设备重启最后:iOS可以引导时间漂移吗?
int mib[MIB_SIZE];
size_t size;
struct timeval boottime;
mib[0] = CTL_KERN;
mib[1] = KERN_BOOTTIME;
size = sizeof(boottime);
if (sysctl(mib, MIB_SIZE, &boottime, &size, NULL, 0) != -1) {
return boottime.tv_sec;
}
return 0;
我看到一些异常与此时间。特别是,我保存了很长时间,几天和几周后,检查了上面代码返回的值保存了多久。
我不确定,但我想我正在看到一些漂移。这对我来说没有任何意义。我不转换为NSDate以防止漂移。我认为启动时间是由内核启动时记录的,不再计算,只是存储。但是,iOS是否可以将启动时间节省为NSDate,并有任何固有的漂移问题?
你能举一个你正在看到的漂移的例子吗? – trojanfoe
保存的启动时间和“计算”启动时间之间至少有5秒的差异。我会期望零漂。而且......我甚至可能不会漂流,我只是根据来自现场的错误报告做一些侦探工作。我从来没有见过启动时间有所不同。这里有一个权威的回答,“是的,它可以漂移”使得修复更容易。 –
我的iPad Mini 3在周末漂移48秒! –