我正在寻找一种使用Objective-C访问我的Kindle内容的方法。具体来说,我想:
列出设备上的文档
添加和删除文档
管理集合(添加和删除文档等。)
我知道Calibre可以完成所有(以及更多)工作,但是它使用Java。
这是我第一次尝试从Cocoa应用程序访问任何类型的设备。如果有人有任何想法或出发点,我将非常感谢。
最佳答案
您可能可以通过NSFileManager进行基本文件系统调用,因为Kindle本身通常作为磁盘安装在/Volumes
中。然后,您可以通过这种方式提取文件元数据,以获取书名,作者和资料。
编辑:@Peter Hosey带来了一个好处:
注意:不要假定所有已装入的卷都在/Volumes
中。管理员可以在任何地方挂载任何设备,可以将fstab设置为在特定位置挂载特定设备,而Apple始终可以从根本上改变文件系统的布局。使用NSFileManager
的mountedVolumeURLsIncludingResourceValuesForKeys:options:
方法或磁盘仲裁找到所有已安装的卷,无论它们在哪里。
但是,不确定如何管理集合。 This plugin为此提供了Calibre支持,但是Kindle Touch似乎无法使用它。收藏集似乎是Kindle专有的东西,很可能存储在该collections.json
文件中。听起来像Kindle Touch改变了游戏,但您将无法管理游戏(除非Amazon决定发布某种SDK以简化整个过程,但我不会屏住呼吸)。
Kindle Touch将其收藏夹文件保存在/var/local/cc.db
处,我敢打赌它是某种SQLite文件。可悲的是,您只能通过将Kindle Touch越狱来达到目的。 This tool听起来可能会给您一些见识,但是由于Touch上的这一点已经改变,因此您正在考虑根据设备类型为收集管理创建特殊情况。祝您好运(如果您要制作基于Cocoa的Kindle经理,我想在交易完成后向您投钱)!
关于objective-c - 通过Objective C访问Kindle内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16483442/