これを試して
/* 指定されたリビジョンで存在していたパスのファイルを復元し、復元後に復元されたファイルのメタデータを返します */
- (void)restoreFile:(NSString *)path toRev:(NSString *)rev;
ここで、path は復元する必要がある DropBox ファイルのパスであり、rev は復元する必要があるリビジョンです。
そしてそのデリゲートメソッドは
- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata;
- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error;
これらを使用して、特定のファイルのリビジョンリストを取得できます
/* パスにあるファイルの過去のリビジョンを表す最大 10 個の DBMetadata オブジェクトのリストをロードします */
- (void)loadRevisionsForFile:(NSString *)path;
/* 上記と同じですが、返される DBMetadata オブジェクトの数に構成可能な制限があり、最大 1000 です */
- (void)loadRevisionsForFile:(NSString *)path limit:(NSInteger)limit;
そしてそれらのデリゲートメソッドは
- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path;
- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error;
例
NSString *filePath = @"/Contacts";
NSString *revisionStr = @"a1067dc176"; // sample revisionString
[[self restClient] loadRevisionsForFile:filePath limit:10];
[[self restClient] restoreFile:filePath toRev:revisionStr];
// デリゲート メソッド
- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path{
for (DBMetadata *file in revisions)
{
NSLog(@"MetaData's Revisions \t%@", file.rev);
}
}
- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error{
}
- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata{
NSLog(@"Restored FileMetaData Path : %@",fileMetadata.path);
NSLog(@"Restored FileMetaData rev : %@",fileMetadata.rev);
}
- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error{
NSLog(@"There was an error restoring the file - %@", error);
}