我有一个文件,我需要根据它的创建日期用新文件替换这个文件,所以如果这个文件的创建日期在 2013 年 6 月 23 日之前,那么我将删除它并添加新文件,这样新的创建日期为 06/23/2013,但如果创建日期晚于或等于 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];
}