找回GoodReader中丢失的书签

GoodReader是一款iOS上功能比较强大的PDF工具,不过我在使用当中发现一个书签会丢失的问题。因为有时候在PC上看PDF比较方便,所以会将PDF从iOS复制到PC,之后做完注释后再复制回iPad。但是之后在GoodReader中再次打开,发现以前做的书签全部丢失了,这可令人头疼。今天尝试着在它的Document目录下寻找相关的记录文件,果然找到了一个可以防止丢失书签的方法。

用iTools打开GoodReader的Document目录,之后在Library目录下会找到一个SaveState.sqlitedb(看来使用sqlite来做存储)。当我们要将PC上编辑好的PDF复制回iPad前,记得先备份一下SaveState.sqlitedb。复制PDF完成后,再将备份的SaveState.sqlitedb覆盖即可。

也许GoodReader是通过时间戳的判断是否需要更新sqlitedb?因为我们将文件从PC复制到iPad后,时间戳肯定不一致。简单地测试了一下,至少在文件大小相同的情况下,时间戳不一致也会造成书签丢失。

SaveState.sqlitedb中有一张Bookmark表,其中有localpath一列,指向/Library/Application Support/com.goodiware.GoodReader.ASRoot/Previews的子目录。下面那些与pdf对应的文件也是sqlite格式的数据库,其中存储着每个文件的大小和最后修改时间。

你可能感兴趣的:(贴士)