alvin hu

A blog of iOS developer.

解决通过基于IIS下的WebDAV同步OmniFocus出现404错误的问题

| Comments

我同时在Mac,iPhone,iPad下面使用OmniFocus,所以不可避免的需要三个设备之间的数据同步。OmniFocus在这方面做的还是很不错的,提供了多种同步方式。

  • OmniFocus Sync:OmniFocus官方服务器免费同步
  • Bonjour:局域网同步
  • 磁盘:通过文件同步
  • 自定义WebDAV:通过第三方WebDAV服务同步

其实第一种官方同步就已经可以满足需求了,但是由于官方服务器在国外,所以同步速度几乎无法忍受。而第二、第三种都不太方便,比方说在外面拿着手机就无法与办公室的笔记本同步了。最为强大的还是第三种,可以跟任何标准的WebDAV服务器同步,国外有一些免费的WebDAV服务公司,但是跟官方一样,速度太慢,而国内几乎很少提供免费的WebDAV,所以我就自己搭了一个基于IIS的WebDAV服务器。

IIS开通WebDAV很简单,网上很多教程,这里就不再赘述。在顺利搭建好WebDAV以后,发现通过程序连接WebDAV服务器没问题,但是同步的时候报404错误。谷歌里找了好久都没找到解决方案,最后在官方的FAQ里找到这么一段话:

We have had a report that in order to get syncing working on IIS 6.0-hosted WebDAV, you have to configure IIS to add a MIME type of “Text” for files with the “.client” extension. (These are the files OmniFocus uses to identify the different clients which sync with a given database.)

意思就是有一些用户反映跟我一样的问题,解决方案就是配置IIS,在MIME的“Text”下面增加一个“.client”的扩展名,这个扩展名的文件是OmniFocus用来定义不同的设备同步时对应不同的数据库。因为IIS默认不支持这个扩展名,所以WebDAV是不允许创建.client文件的。

按照文中所说编辑一下,果然同步成功!现在可以享受三个设备快速同步的乐趣了,哈哈!

Comments