Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dropbox ios同步api:readData don';等不及了_Ios_Sync_Dropbox - Fatal编程技术网

Dropbox ios同步api:readData don';等不及了

Dropbox ios同步api:readData don';等不及了,ios,sync,dropbox,Ios,Sync,Dropbox,我正在使用readData将zip文件与服务器同步,但程序不会等待zip更改的下载。这是我的密码: enter DBPath *newPath = [[DBPath root] childPath:@"decoupe.zip"]; DBError *dbError; DBFile *dbFile = [[DBFilesystem sharedFilesystem] openFile:newPath error:nil]; NSFileHandle *fileHandle = [dbFile

我正在使用
readData
将zip文件与服务器同步,但程序不会等待zip更改的下载。这是我的密码:

enter DBPath *newPath = [[DBPath root] childPath:@"decoupe.zip"];
DBError *dbError;
DBFile *dbFile = [[DBFilesystem sharedFilesystem] openFile:newPath    error:nil];
NSFileHandle *fileHandle = [dbFile readHandle:&dbError];
NSData *fileData = [dbFile readData:&readError];
[fileData writeToFile:@"/Users/walid/Documents/ikksTestSynchAPI/ikksTestSynchAPI/decoupe.zip" atomically:YES]; here
执行不会等待下载新的zip文件,但如果我运行程序2到3次,新的zip文件将被下载,zip文件大小的更改将生效


如何确保程序等待下载?

在同步API中,所有读取操作都在文件的缓存副本上进行(当存在缓存版本时)。要更新到文件的最新版本,您需要打开文件,设置一个观察者,以便在文件更改时收到通知,等待文件同步状态的
isCached
标志为true,然后调用
update
更新到文件的最新版本


请参阅示例。

我想我可以使用以下命令等待下载:
而(!dbFile.newerStatus.cached){[nShread sleepForTimeInterval:1.0f];NSLog(@“sleep”);}
我可以在程序开始时等待DBFileSystem下载元数据吗,因为第一次运行时没有触发下载,我想这是因为DBFileSystem还没有(在dropbox中更新的文件的)信息

谢谢你的回答,在继续之前,我想知道sync API是否使用二进制diff来下载文件,我觉得每当它下载整个文件时,Dropbox API通常不支持任何基于差异的上传/下载。完整的文件总是被传输。令人失望的是,API没有使二进制差异。在这种情况下,我将解压缩我的html目录并尝试同步。我添加了以下代码DBPath*rootPath=[[DBPath root]childPath:@”“;[filesystem addObserver:self-forPathAndChildren:rootPath块:^(){NSLog(@“您的dropbox文件夹中发生了更改!”;}],它工作正常,但是您如何知道哪个文件被更改为下载不幸的是,syncapi没有公开查看哪些路径被更改的方法。如果你打开了文件,你可以直接观察每个文件。我有大量的文件和子文件夹,这是一个目录应用程序,但每一刻都可能发生小的变化,更新两个文件或添加五个文件。。。这可以完成任务吗:但是sdk是版本1