iOSでEpubをダウンロードしてBookで開くサンプル実装
こんにちは、最近サーバーサイドエンジニアに転向しかけている kz_moritaです。\
今回は、Epub (Kindle とか電子書籍向けの拡張子) ファイルをダウンロードして、iPhone に標準で入っている Book アプリで開いて読むといったアプリのサンプル実装をしましたのでそのことについて簡単に書いていきます。
成果物 まずは成果物
ソースコードはこちらになります。
https://github.com/foresta/EpubDownloadSample
それでは、以降でソースコードについて簡単に説明していきます。
Epub ファイルのダウンロード 今回、Epub ファイルのダウンロードには Alamofire を使用しました。
FileDownloader というクラスを作っていますのでそちらのコードを以下に載せます。
import Foundation import Alamofire class FileDownloader { static func download(url: URL, completion: @escaping (URL?, Error?) -> Void) { let filename = url.lastPathComponent let documentsURL = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask)[0] let fileURL = documentsURL.appendingPathComponent(filename) let destination: DownloadRequest.DownloadFileDestination = { _, _ in return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) } Alamofire.download(url, to: destination).