Вы могли бы выполнить некоторые проверки вменяемости в системе, чтобы получить представление о том вручную, может ли пользователь установить часы назад в прошлое.
Обратите внимание, что я до сих пор не думаю, что план (злорадно) удаление пользовательских файлов является прекрасной идеей в целом, и следующий подход, в частности, будет, конечно, ломаться под Песочница ..
..но из из любопытства: Вот фрагмент кода, который будет проверять все файлы в /var/log
и возвращать ли некоторые из них были изменены в будущем (= система вполне вероятно, работает «в прошлом»)
- (bool)isFakeSystemTime
{
int futureFileCount = 0;
// let's check against 1 day from now in the future to be safe
NSTimeInterval secondsPerDay = 24 * 60 * 60;
NSDate *tomorrow = [[[NSDate alloc] initWithTimeIntervalSinceNow:secondsPerDay] autorelease];
NSString *directoryPath = @"/var/log";
NSArray *filesInDirectory = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:directoryPath error:nil];
for (NSString* fileName in filesInDirectory)
{
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[directoryPath stringByAppendingPathComponent:fileName] error:nil];
NSDate *date = [attributes valueForKey:@"NSFileModificationDate"];
if (!date)
continue;
if ([date compare:tomorrow] == NSOrderedDescending)
{
NSLog(@"File '%@' modified >=1 day in the future", fileName);
futureFileCount++;
}
}
// again, some heuristic to be (more) on the safe side
return futureFileCount > 5;
}
Проверить системную дату, а также дополнительную проверку работоспособности в отношении дат модификации некоторых файлов в файловой системе (журналы, префы), чтобы узнать, были ли они более свежими, указывающие системные часы, возможно, были изменены? – Jay
Как бы то ни было, я бы * ненавидел вас, если бы я был пользователем вашего приложения, удаляющим себя на ** MY ** Mac :-) – Jay
:) В общем, не очень хорошо, что я согласен, вы Мне придется доверять мне, что в этом случае это оправдано! Что касается проверки на изменения системных часов, знаете ли вы, какие глобальные файлы содержат такие журналы? Спасибо – user2265675