我用这个代码,以跟踪最后一次重新启动的:什么是mach_absolute_time基于iPhone
+ (float) secondsSinceLastReboot{
return ((float)(mach_absolute_time())) * ((float)timebase.numer)/((float)timebase.denom)/1000000000.0f;
}
我认为mach_absolute_time()的基础上最后一台设备启动时就像是在Mac上。它似乎并不基于此。我其实不知道它是基于什么。
看看下面的行为(今天的日期为2009-09-20):
lastRebootTime = [[NSDate date] addTimeInterval:-[self secondsSinceLastReboot]];
//last Reboot Time will contain : 2009-09-20 07:42:14 +0100
我绝对肯定我没有在那个时候重新启动我的设备。我的设备在一周内没有启动。
而且,当我解开从电缆我的设备和运行这个程序,似乎当设备进入睡眠状态时,lastRebootTime开始在日后转移。看起来mach_absolute_time没有记录睡眠时间。或者我错了吗?
我真的很希望能够得到当设备重新启动最后一个时间戳。有任何想法吗?
可以#包括“CAHostTimeBase.h”从CoreAudio的实用工具类看https://developer.apple.com/library/ios/qa/qa1643/_index.html – 2015-03-18 08:50:05