【发布时间】:2015-01-09 01:59:16
【问题描述】:
所以我对这个很迷茫,而且对 epub 文件真的很陌生。我已经进行了一些搜索,但似乎无法将所有内容都放在我的脑海中。
我的应用使用 DropBox 的选择器 API 从用户的 DropBox 文件夹中获取文件。在这种情况下,我想打开一个 .epub 文件。因此,当用户选择一个文件时,DropBox API 会将一个 NSURL 对象返回给该文件。例如:
https://dl.dropboxusercontent.com/1/view/e8bmxpkree6nc67/The%20Art%20of%20War.epub
现在,我尝试了几种不同的工具来尝试读取此文件。最初,我尝试使用KFEpubKit。但是当我打电话时:
epubURL; // The url from DropBox (shown above)
NSURL *documentsURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
self.epubController = [[KFEpubController alloc] initWithEpubURL:epubURL andDestinationFolder:documentsURL];
self.epubController.delegate = self;
[self.epubController openAsynchronous:YES]
我会收到无法解压缩文件的错误消息。错误内容如下:
Epub Error: Error Domain=KFEpubKitErrorDomain Code=1 "Could not extract epub file." UserInfo=0x170275400 {NSLocalizedDescription=Could not extract epub file.}
我查看了代码并稍微缩小了问题范围。 KFEpubKit 使用SSZipArchive 实用程序来解压缩文件。从这一点开始,我有点卡住了。与epubURL.path 一起使用时,[SSZipArchive unzipFileAtPath: toDestination:] 调用似乎失败了。我不确定这是否与我的文件是 .epub 扩展名而不是 .zip 扩展名这一事实有关。或者,在从 DropBox 获取 URL 并将其提供给 KFEpubKit 工具之前,可能还有一些事情要做?
最后,我希望必须使用 UIWebView 显示本书的文本。但我只是不确定如何处理这个 .epub 文件。我应该如何处理来自 Dropbox 的文件?任何帮助深表感谢。
【问题讨论】:
标签: ios objective-c xcode dropbox-api epub