相关疑难解决方法(0)

什么是基于iPhone的mach_absolute_time

我使用此代码来跟踪上次重启:

+ (float) secondsSinceLastReboot{
     return ((float)(mach_absolute_time())) * ((float)timebase.numer) / ((float)timebase.denom) / 1000000000.0f;
}
Run Code Online (Sandbox Code Playgroud)

我假设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
Run Code Online (Sandbox Code Playgroud)

我绝对肯定我当时没有重启我的设备.我的设备一周内没有启动.

此外,当我从电缆上取下设备并运行此应用程序时,似乎当设备进入休眠状态时,lastRebootTime将来会开始转移.似乎mach_absolute_time没有考虑睡眠时间.或者我错了吗?

我真的希望能够从设备上次重启时获取时间戳.有任何想法吗?

iphone timer

31
推荐指数
2
解决办法
4万
查看次数

标签 统计

iphone ×1

timer ×1