从iOS客户端上传到Dropbox时如何避免“冲突副本”

我创建了一个简单的iOS测试应用程序,它在本地创建一个文件并将其上传到相关的Dropbox共享。 我的目标是根据某些事件(按下按钮)不断更新此文件(覆盖它)。 该文件的内容只是事件发生时的当前日期和时间。

当我第一次运行应用程序时,每次上传都会起作用 – 如果文件在被覆盖(更新)之前存在,则使用:

NSString * destination = @"/"; NSString * rev = [_fileDetailsDict objectForKey:[destination stringByAppendingString:fileName] ]; [[self restClient] uploadFile:fileName toPath:destination withParentRev:rev fromPath:fullPath]; 

因此_fileDetailsDict保存父rev,需要覆盖文件而不创建副本。

麻烦的是,如果应用程序第二次尝试更新文件(基于我按下按钮),我总是从dropbox收到“冲突副本”错误响应。 如果相反,我重启我的应用程序,更新再次正常。 起初我认为这是一个计时问题,但即使我等了几分钟按下按钮,这个问题仍然存在。

它“感觉”好像我没有以某种方式关闭上传到Dropbox。 我错过了什么?

尝试将nil传递给withParentRev参数。 我想你知道文件.rev参数的用法,我尝试将nil传递给参数,并且每次都创建一个新文件(不是副本)。

可能这对你有很大帮助。 当我遇到类似问题时,我提到了这一点。