kevinleeeee323/swiftbookapp — explained in plain English
Analysis updated 2026-05-18
Read EPUB books on iPhone and turn pages with the volume buttons instead of tapping the screen.
Track daily reading time, streaks, and how many books you finish in a year.
Customize font, theme, and layout for a more comfortable reading experience, including Chinese text.
Study the source code to learn how to build a custom EPUB pagination engine with WKWebView.
| kevinleeeee323/swiftbookapp | anywhere-music-player/codexlimits | aydahnizzy/calendar-drag-interaction | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | Swift | Swift | Swift |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a Mac with Xcode 15+, optional Chinese serif fonts are pulled separately via Git LFS.
SwiftBook is an iOS app for reading EPUB ebooks, built to look and feel like Apple's own Books app. The developer built it to solve one specific frustration: neither Apple Books nor most other ebook readers on iPhone let you turn pages using the volume buttons, even though this has been a normal feature on Android phones for years. SwiftBook adds that missing feature, letting you flip pages while lying in bed without reaching out to tap the screen. Beyond volume button page turning, the app covers the basics you would expect from an ebook reader: you import EPUB files through the iPhone's Files app, turn pages by tapping the sides of the screen, swiping, or dragging a progress bar, and it remembers where you left off in every book. You can adjust font size, choose from several font families including ones suited to Chinese text, change line spacing and margins, and switch between light, warm, dark, and an eye-care green color theme. It also shows a table of contents you can jump to directly, handles footnotes by letting you tap to jump to a note and then jump back to where you were reading, and tracks reading habits like daily time spent reading, streaks, and books finished in the current year. The app is built with SwiftUI and a web view component, and the underlying page-turning technique renders each book as a single web page split into scrollable columns, so that each column lines up exactly with one screen of text. The README goes into real technical depth about tricky bugs the developer ran into while building this, such as the web view resizing unexpectedly and breaking page navigation, and a bug where a font name containing a quote mark silently broke every interactive feature in the app. To build and run SwiftBook yourself you need a Mac with Xcode installed, the project comes with a ready made Xcode project file, and there is an optional font package fetched separately through Git LFS. The current state is described as an early but genuinely daily usable version, with more features still planned. It carries an MIT license and is aimed at iOS developers or highly technical readers, not casual users looking for an already published app.
An iOS EPUB reader styled after Apple Books that adds volume button page turning, reading stats, and deep font and theme customization.
Mainly Swift. The stack also includes Swift, SwiftUI, WKWebView.
MIT license: free to use, copy, modify, and distribute, including commercially, as long as the original copyright notice is kept.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.