0

我想将 30 天添加到文件夹创建日期并在 30 天后阻止该应用程序。如果他们更改系统日期,我的应用程序也应该在计数后关闭。

NSDateComponents *components;
NSString *path = @"/Users/Syed/Library/Swasstik/KITSMAW0051_SWASSTIK_DB.sqlite";
BOOL isFile = [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:NO];
if (isFile) {
NSLog(@"File exists");
NSDictionary* fileAttribs = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil];
NSDate *result = [fileAttribs fileCreationDate]; //or fileModificationDate
NSLog(@"%@",result);
  NSDate* date = [NSDate date];
NSLog(@"%@", [date description]);

NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
components = [gregorianCalendar components:NSDayCalendarUnit
                                                    fromDate:result
                                                      toDate:date
                                                     options:0];

[gregorianCalendar release];
NSLog(@"%ld", [components day]);

请帮我解决这个问题。提前致谢。

4

1 回答 1

0

您可以尝试在系统上查找最近修改的文件(例如,用户的 Preferences 文件夹中的一个,因为这些文件被频繁修改)并与该修改日期进行比较。即使用户返回他的系统时间,之前修改过的文件也会保留其较新的修改日期。

如果用户将他的系统时间永久保留在过去(如 1990 年),那当然不会起作用,但它会阻止尝试只返回时间来使用您的应用程序。我认为有人会永久保持他的系统时间错误的可能性很小,因为这真的很不方便。

于 2012-10-10T13:08:52.337 回答