我创建了一个简单的 iOS 测试应用程序,它在本地创建一个文件并将其上传到相关的保管箱共享。我的目标是根据某些事件(按钮按下)不断更新这个文件(覆盖它)。文件的内容只是事件发生时的当前日期和时间。
当我第一次运行该应用程序时,每次上传都有效 - 如果文件在被覆盖(更新)之前存在,则使用以下命令:
NSString * destination = @"/";
NSString * rev = [_fileDetailsDict objectForKey:[destination stringByAppendingString:fileName] ];
[[self restClient] uploadFile:fileName toPath:destination withParentRev:rev fromPath:fullPath];
其中 _fileDetailsDict 保存父 rev,需要覆盖文件而不是创建副本。
问题在于,如果应用程序第二次尝试更新文件(基于我按下按钮),我总是会从 Dropbox 收到“复制冲突”错误响应。相反,如果我重新启动我的应用程序,更新就会再次发生。起初我认为这是一个时间问题,但即使我等待几分钟按下按钮,这个问题仍然存在。
它“感觉”好像我没有以某种方式关闭上传到保管箱。我错过了什么?