2

Objective-C を使用して kindle のコンテンツにアクセスする方法を探しています。具体的には、次のことを希望します。

  • デバイス上のドキュメントを一覧表示する
  • ドキュメントの追加と削除
  • コレクションの管理 (ドキュメントの追加と削除など)

Calibre がこれ (およびそれ以上) をすべて実行することは知っていますが、それは Java で行われます。

Cocoa アプリからあらゆる種類のデバイスにアクセスしようとしたのはこれが初めてです。誰かにアイデアや出発点があれば、本当に感謝しています。

4

1 に答える 1

0

通常、Kindle 自体は にディスクとしてマウントされるため、NSFileManagerを使用して基本的なファイルシステム呼び出しを行うことでおそらくうまくいくでしょう/Volumes。その後、その方法でファイル メタデータをプルして、書籍のタイトルや著者などを取得できます。

編集:@Peter Hoseyは良い点をもたらします:

注: マウントされたすべてのボリュームが にあると想定しないでください/Volumes。管理者は任意のデバイスをどこにでもマウントでき、fstab は特定のデバイスを特定の場所にマウントするように設定でき、Apple はファイル システムのレイアウトを常に大幅に変更できます。NSFileManagerの方法またはディスク アービトレーションを使用mountedVolumeURLsIncludingResourceValuesForKeys:options:して、マウントされているすべてのボリュームを見つけます。

ただし、コレクションの管理についてはわかりません。このプラグインは Calibre サポートを提供しますが、Kindle Touch では壊れているようです。collections.jsonコレクションは、そのファイルに保存されている可能性が高い Kindle 独自のもののようです。ただし、Kindle Touch がゲームを変えたように聞こえますが、コレクションを管理することはできません (Amazon が何らかの SDK をリリースしてプロセス全体を簡素化することを決定しない限り、私は息を止めません)。

Kindle Touch はそのコレクション ファイルを/var/local/cc.dbに保持していますが、これはある種の SQLite ファイルであるに違いありません。残念ながら、Kindle Touch をジェイルブレイクすることによってのみアクセスできます。このツールは洞察力を与えてくれるように思えますが、Touch ではこれが変更されたため、デバイスの種類に基づいてコレクションを管理するための特別なケースを検討しています。幸運を祈ります (Cocoa ベースの Kindle マネージャーを作成している場合は、完成したらぜひお金を投げてください)。

于 2013-05-10T15:26:45.757 に答える