Tempo de atividade congelado no iOS / iPhone
lguém saberia por que estou com um tempo de atividade estranho com o método a segui
NSProcessInfo *processInfo = [NSProcessInfo processInfo];
NSTimeInterval systemUptime = [processInfo systemUptime];
Pelos primeiros minutos, tudo parece bem, mas quando volto ao aplicativo horas ou dias depois, o tempo de atividade ainda é o mesmo: 30min ou 1h34 ... parece congelar em um momento aleatório. Principalmente no iPhone 4 (raramente no Simulator ou iPad)
Pode estar associado à minha maneira de mostrá-lo:
+ (NSTimeInterval)uptime:(NSNumber **)days hours:(NSNumber **)hours mins:(NSNumber **)mins
{
NSProcessInfo *processInfo = [NSProcessInfo processInfo];
//START UPTIME///////
NSTimeInterval systemUptime = [processInfo systemUptime];
// Get the system calendar
NSCalendar *sysCalendar = [NSCalendar currentCalendar];
// Create the NSDates
NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:(0-systemUptime)];
unsigned int unitFlags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *c = [sysCalendar components:unitFlags fromDate:date toDate:[NSDate date] options:0];
//NSString *uptimeString = [NSString stringWithFormat:@"%dd %dh %dmin", [c day],[c hour],[c minute]];
*days = [NSNumber numberWithInt:[c day]];
*hours = [NSNumber numberWithInt:[c hour]];
*mins = [NSNumber numberWithInt:[c minute]];
[date release];
//END UPTIME////////
return systemUptime;
}
E mais tarde no código:
NSNumber *uptimeDays, *uptimeHours, *uptimeMins;
[CJGDevice uptime:&uptimeDays hours:&uptimeHours mins:&uptimeMins];
NSString *uptimeString = [NSString stringWithFormat:@"%@d %@h %@min",
[uptimeDays stringValue],
[uptimeHours stringValue],
[uptimeMins stringValue]];
EDIT: depois de três dias gravando os resultados no iPad e no iPhone, vejo que esse tempo de atividade está errado, o tempo está passando muito devagar, quanto mais esperamos, mais é óbvio que é tarde