ファイルがあり、作成日に基づいてこのファイルを新しいファイルに置き換える必要があるため、たとえば、このファイルの作成日が 2013 年 6 月 23 日より前の場合は、それを削除して新しいファイルを追加します。作成日は 2013 年 6 月 23 日になりますが、作成日が 2013 年 6 月 23 日以降の場合は何もしません。
上記のロジックを開発環境に適用すると、問題なくすべてがうまくいきましたが、本番環境 (iTunes) にデプロイすると、条件 = true になります。これは、コードが常に 2013 年 6 月 23 日より前に条件に入り、ファイルを削除して新しいファイルを作成することを意味します。 .
私のコードは次のとおりです。
if ([fileManager fileExistsAtPath:writableDBPath]) {
NSDate *creationDate = [[[NSFileManager defaultManager] attributesOfItemAtPath:writableDBPath error:&error] objectForKey:NSFileCreationDate];
BOOL result = NO;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *issueDate = [dateFormatter dateFromString:@"2013-05-22"];
NSDateComponents *creationDateComponents = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:creationDate];
NSDateComponents *issueDateComponents = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:issueDate];
NSTimeInterval secondsBetweenCreationIssue = [[CURRENT_CALENDAR dateFromComponents:creationDateComponents] timeIntervalSinceDate:[CURRENT_CALENDAR dateFromComponents:issueDateComponents]];
if ((lround((secondsBetweenCreationIssue/86400))) <= 0) {
result = YES;
}
else{
result = NO;
}
//if the file is OLD
if (result) {
[fileManager removeItemAtPath:writableDBPath error:&error];
}