Итак, я довольно утерян с этим и действительно новым для файлов epub. Я немного потрудился, но, похоже, не могу все собрать в голове.ObjectiveC - Чтение файла ePub Gotten From Dropbox
Мое приложение использует DropShot Chooser 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 для распаковки файлов. И с этого момента я немного застрял. Похоже, что вызов [SSZipArchive unzipFileAtPath: toDestination:]
не работает при использовании с epubURL.path
. Я не уверен, что это связано с тем, что мой файл является расширением .epub, а не расширением .zip. Или, может быть, есть некоторые вещи, которые нужно сделать после получения URL-адреса из DropBox и до того, как передать его в инструмент KFEpubKit?
В конце концов, я ожидаю, что вам придется отображать текст книги с помощью UIWebView. Но я просто не знаю, как обращаться с этим файлом .epub. Что мне делать с файлом из Dropbox? Буду признателен за любую оказанную помощь.
Работал отлично! –