2011-01-27 86 views
7

我有一个iOS应用程序,它将数据存储在本地目录中。我希望能够在运行我的应用的多个设备之间同步这些数据。目前,这是使用核心数据,但我希望不得不更改为某些基于文本的文件存储系统,以便轻松进行同步。与DropBox API和iOS同步数据

我在期待DropBox API能够让这一切变得简单而又美妙,并且我可以告诉API只需在启动/保存时同步数据文件夹的内容。不过看起来DropBox API只不过是上传和下载文件的一种美化方式罢了。

我在这个假设上错了吗? DropBox API实际上可以让文件夹中的文本文件保持同步吗?如果没有,有没有其他的服务,甚至可以给你建议?同步很困难 - 我希望DropBox能让它更容易。

+0

你好。我想知道你是否成功地让一个简单的DropBox同步工作。我现在面临着同样令人沮丧的问题,并在这里开始了一个新问题,希望获得一些示例代码来说明整个同步过程。 http://stackoverflow.com/questions/5950168/a-simple-sync-with-the-iphone-dropbox-api – 2011-05-10 12:52:58

+0

我相当迅速,因为它很明显,它不能做我以后的事情。 API更适合您访问用户数据库帐户,而不是提供同步服务。 – 2011-05-10 22:48:47

回答

7

使用/metadata,获取有关文件夹内容的信息可能不那么容易。您只需检查日期modified,如果它与本地不同,请执行相应的操作。它还会为您提供任何文件内容的元数据,因此您可以根据需要挑选需要上载/下载/添加/删除的文件。

除此以外的任何其他功能都将非常依赖于应用程序;你可以自己决定何时以及如何处理不同的文件。

Dropbox API Documentation

+0

谢谢安迪,我想我掩饰了元数据调用,因为它实际上非常重要!这种方法听起来如何 - 调用元数据,更新任何具有不同修改日期的文件,下载任何新文件,上传任何已更新的文件,然后上传任何新文件。 – 2011-01-27 02:44:10

0

有一个RSS提要,可以限制对共享文件夹中的一个,但它种筛选事件,以保持卷低。

2

正如ohho提到的那样,现在可以使用DropBox Sync API,我认为它会做你所说的(我没有亲自尝试过,因为我在使用早期SDK的应用中集成了对Dropbox的支持, )。如果你只是在使用Dropbox,这可能就足够了。

就我而言,我已经开始为我的应用程序添加对其他在线存储(“Cloud”)服务的支持,并且发现处理它们之间在处理各种概念认证,版本,命名等。例如,Dropbox的API根据文件的路径引用文件,而Box的API根据文件ID(它有一个相关的路径,但我相信如果文件被移动仍然是相同的)引用文件。然后还有所有解决冲突的问题(又称合并),当多个客户端尝试将冲突的更改同步到服务器时发生。

我实际上最近考虑启动一个开源项目来开发一个库,它可以连接到所有主要服务,并提供一个抽象层来说明他们之间的差异,同时也为您处理同步过程。实际上我已经有了一些代码(我迄今尚未公开发布),但可以使用它来启动项目。

这会对你有用吗?你(或其他人)是否愿意参与这样的努力?

(注意MODS:我意识到这可能会偏离主题 - 对此感到抱歉。如果你可以推荐一个更合适的论坛来讨论这个问题,我很乐意在那里进行对话)。