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

You could maybe try to find the most recently modified file on the system (for example one from the user's Preferences folder as these are modified very frequently) and compare against that modification date. Even when the user turns back his system time, files modified before will keep their newer modification date.

もちろん、ユーザーが自分のシステム時刻を過去 (1990 年など) に永続的に保持している場合は機能しませんが、アプリを使用するために時刻を戻すだけの試みは防止されます。これは本当に不便なので、誰かが自分のシステム時刻を永久に間違ったままにしておく可能性は非常に低いと思います。

于 2012-10-10T13:08:52.337 に答える