Dropbox Sync API iOS复制文件到app文档

时间:2013-08-28 17:33:16

标签: ios dropbox

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用于此目的,但似乎该线程上没有人真正尝试过它。

1 个答案:

答案 0 :(得分:0)

如果无法直接使用DBFile对象,可以使用readData读取文件内容,然后将其写入其他位置。

请注意,如果您希望在文件(在Dropbox中)发生更改时收到通知,则需要保持该文件处于打开状态。从本质上讲,只有在您保持文件打开时才会更新文件,收到有关新内容可用的通知,然后拨打update