Dropbox Sync API是否允许将目录或文件从Dropbox复制到应用程序沙盒目录中?
我很高兴使用Dropbox Sync API并使用Dropbox管理我的OS X计算机和运行我的应用程序的iPad之间的媒体资产。
我很快就集成了Sync API,并且能够打开文件并再次将它们保存到Dropbox中。
由于我的应用程序已设置了许多动态加载媒体资产的调用,因此会增加不必要的复杂性,以尝试从Dropbox文件系统中打开所有这些资源。我的目的是使用Sync API来确定是否有更新的资产,然后将它们复制到我的一个应用程序目录中。
但似乎几乎所有使用Sync API返回的对象都是DBObjects,我无法执行正常的NSFilesystem文件操作,例如copy。此外,DBObjects本身似乎没有复制功能。
有没有办法在不诉诸CorecAPI的情况下做到这一点?
示例,对于名为story
的任意文件类型//get a list of stories and put them in an array
DBPath *storyPathDB = [[DBPath root] childPath:@"/storyBundlesDB"];
NSArray *listOfStoriesDB = [[DBFilesystem sharedFilesystem] listFolder:storyPathDB error:nil];
for (DBFileInfo *story in listOfStoriesDB)
{
//now I can list out the path of my stories, but that's about it...
DBPath *storyPath = story.path;
NSLog(@"%@",storyPath.stringValue);
//How can I treat these stories whether they are directories or .mov, .png, and copy them to my app directory?
}
我在这里看到了这个问题Data syncing with DropBox API and iOS,人们建议将SyncAPI用于此目的,但似乎该线程上没有人真正尝试过它。
答案 0 :(得分:0)
如果无法直接使用DBFile对象,可以使用readData
读取文件内容,然后将其写入其他位置。
请注意,如果您希望在文件(在Dropbox中)发生更改时收到通知,则需要保持该文件处于打开状态。从本质上讲,只有在您保持文件打开时才会更新文件,收到有关新内容可用的通知,然后拨打update
。