私はattributesOfItemAtPath
を使用して、ファイルの変更日時を取得することができますが、変更日時を設定する方法はありますかファイル?iPhoneでの属性の変更方法(変更日時など)
私はHow to set the modification time of a file programmatically?を見ましたが、それは適用されないようです。
私が尋ねる理由は、http://allseeing-i.com/ASIHTTPRequest/(下記)を使用してファイルを取得することです。ただし、タイムスタンプはサーバーのLast-Modified時刻と同じに保たれません。 Last-Modifiedヘッダーを使用してダウンロードしたファイルの日付/時刻を設定して、ダウンロードした時間をサーバー上のシステムと同じにすることができます。
私のコードは次のとおりです。
ASIHTTPRequest *requestFeed = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:kGZipSQLURL]];
[requestFeed setNumberOfTimesToRetryOnTimeout:2];
[requestFeed setDownloadDestinationPath:librarySQLGZipPath];
[requestFeed setCachePolicy:ASIAskServerIfModifiedCachePolicy|ASIFallbackToCacheIfLoadFailsCachePolicy];
[requestFeed setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
[requestFeed setSecondsToCache:60*60*24*30];
[requestFeed setDownloadCache:[ASIDownloadCache sharedCache]];
[requestFeed startSynchronous];
NSString *lastModified = [[requestFeed responseHeaders] objectForKey:@"Last-Modified"];
NSLog(@"Last Modified: %@",lastModified);
だから、文字列
lastModified
は、時間/日付スタンプを保持しています。
librarySQLGZipPath
のファイルが
lastModified
の日付/時刻に設定されるようにする方法はありますか?現在の方法を使用すると、ファイル
librarySQLGZipPath
はダウンロードされた時間を保持します。私にとっては無効です。
ありがとうございます!
EDIT LATER
ジャン:
私はこのためのコードを実行する方法をうまくこのページの上に置きたいのだと今でも私は今つもりだ答えるためにスティーブン・クレイマーの信用を与えたかったので私はコードを使用して答えを編集します:
NSDateFromRFC1123
はここにあるルーチンです:http://blog.mro.name/2009/08/nsdateformatter-http-header/(一部調整あり)Last-Modifiedヘッダー文字列をNSDateオブジェクトに変更する:
NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:[self NSDateFromRFC1123:lastModified] ,NSFileModificationDate, nil];
NSError *errorFile;
if ([NSFileManager defaultManager] setAttributes:attrs ofItemAtPath:librarySQLGZipPath error: &errorFile])
{
NSLog(@"Set timestamp of file");
}
else {
NSLog(@"COULD NOT set timestamp of file");
}
ありがとうSteven!
ああ... http://stackoverflow.com/questions/5791148/set-date-modified-of-files-in-cocoaのようなもの(これは私cosを検索して出てくるしませんでしたiPhoneに入れてください)正しい方向に私を向けることに感謝します。チェックマークと+1 – Jann
ええ、ちょうどチケットのようです;-) –
ありがとう、それは私を助けました。 –