-je utiliser ce code pour garder la trace du dernier redémarrage:Ce qui est basé sur mach_absolute_time sur iPhone
+ (float) secondsSinceLastReboot{
return ((float)(mach_absolute_time())) * ((float)timebase.numer)/((float)timebase.denom)/1000000000.0f;
}
Je supposais mach_absolute_time() a été fondée sur le dernier démarrage de l'appareil comme il est sur un mac. Cela ne semble pas être fondé sur cela. En fait, je n'ai aucune idée de quoi il est basé.
Regardez le comportement suivant (la date d'aujourd'hui est 2009-09-20):
lastRebootTime = [[NSDate date] addTimeInterval:-[self secondsSinceLastReboot]];
//last Reboot Time will contain : 2009-09-20 07:42:14 +0100
Je suis absolument certain que je ne pas redémarrer mon appareil à ce moment-là. Mon appareil n'a pas été démarré depuis une semaine.
En outre, lorsque je décroche mon appareil du câble et que j'exécute cette application, il semble que lorsque l'appareil se met en veille, le paramètre lastRebootTime commence à se décaler dans le futur. Il semble que mach_absolute_time ne tient pas compte du temps de sommeil. Ou ai-je tort à ce sujet?
Je voudrais vraiment pouvoir obtenir un horodatage depuis le dernier redémarrage de l'appareil. Des idées?
vous pouvez #include "CAHostTimeBase.h" de CoreAudio Utility Classes voir https://developer.apple.com/library/ios/qa/qa1643/_index.html –