在ios上使用Dropbox sync api的文件同步问题

时间:2014-03-07 23:01:33

标签: ios sync dropbox-api

我在ios上创建了一个文件,并将其添加到dropbox sync api以与Dropbox帐户同步。

稍后当我编辑文件时,我编辑的文件没有显示在dropbox上。这就是我做的。

我使用ios FileManager创建了一个文件,如下所示:

if(![ABUtil fileExist:FILENAME]) {
    NSString *st = @"This is a Test";
    NSData *file = [st dataUsingEncoding:NSUTF8StringEncoding];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *file = [[paths objectAtIndex:0] stringByAppendingPathComponent:FILENAME];

    [[NSFileManager defaultManager] createFileAtPath:
                                            contents:file
                                          attributes:nil];
}

然后我为它创建一个Dropbox文件:

DBAccount *account = [[DBAccountManager sharedManager] linkedAccount];
if (account) {
    DBFilesystem *filesystem = [[DBFilesystem alloc] initWithAccount:account];
    [DBFilesystem setSharedFilesystem:filesystem];

    if([ABUtil fileExist:FILENAME]) {
        DBPath *path = [[DBPath root] childPath:FILENAME];
        DBFile *file = [filesystem createFile:path error:nil];

        [file addObserver:self block:^(){
            NSLog(@"FILE CHANGED");
        }];
    }

}

稍后当我在ios上使用这样修改文件时:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *file = [[paths objectAtIndex:0] stringByAppendingPathComponent:FILENAME];
    NSString *string = @"Tis is a test";

    [string writeToFile:file atomically:YES encoding:NSUTF8StringEncoding error:nil];

dropbox目录下的文件没有改变!!请帮我如何使文件更改与Dropbox同步!!!

1 个答案:

答案 0 :(得分:1)

编辑我错了。 NSString上的一个方法,用于将其内容写入文件。所以那部分可能是有效的。下一步是将该文件复制到Dropbox。

修改完本地文件后,您需要致电writeContentsOfFile将该文件上传到Dropbox。

或者您可以完全跳过本地文件,这是使用Dropbox Sync API时更常见的模式。 (请查看Sync SDK附带的Notes示例,了解如何直接编辑Dropbox文件。)