swift-toolkit is a free, open source publishing project written in Swift and released under BSD-3-Clause. It has 552 GitHub stars, 246 forks and 58 open issues, and was last pushed 36 hours ago. On this registry it ranks #44 of 50 tracked projects in Publishing, with 5 head-to-head comparisons available.

Readium Swift Toolkit

Readium Mobile is a toolkit for ebooks, audiobooks and comics written in Swift & Kotlin.

[!TIP] Take a look at the guide to quickly get started. A Test App demonstrates how to integrate the Readium Swift toolkit in your own reading app.

Features

✅ Implemented      🚧 Partially implemented      📆 Planned      👀 Want to do      ❌ Not planned

Formats

Ebook and Document Formats
Format Status
EPUB (reflowable)
EPUB (fixed-layout)
PDF
Readium Web Publication 🚧
DAISY 👀
Audiobook Formats
Format Status
Readium Audiobook
Zipped Audiobook
Standalone audio files (MP3, AAC, etc.)
DAISY 👀
Comic Formats
Format Status
Readium Divina
CBZ (Comic Book ZIP)
CBR (Comic Book RAR)

Features

A number of features are implemented only for some publication formats.

Feature EPUB (reflow) EPUB (FXL) PDF
Pagination
Scrolling 👀
Right-to-left (RTL)
Search in textual content
Highlighting (Decoration API) 👀
Text-to-speech (TTS) 👀
Media overlays 📆 📆

OPDS Support

DRM Support

Feature Status
Readium LCP
Adobe ACS

User Guides

Guides are available to help you make the most of the toolkit.

Publication

Navigator

DRM

Setting up the Readium Swift toolkit

Minimum Requirements

Readium iOS Swift compiler Xcode
develop 15.0 6.2 26.4
3.8.0 15.0 6.0 16.4
3.0.0 13.4 5.10 15.4
2.5.1 11.0 5.6.1 13.4
2.5.0 10.0 5.6.1 13.4
2.4.0 10.0 5.3.2 12.4

Dependencies

The toolkit's libraries are distributed with Swift Package Manager (recommended) and CocoaPods. It's also possible to clone the repository (or a fork) and depend on the libraries locally.

The Test App contains examples on how to use all these dependency managers.

Swift Package Manager

From Xcode, open File > Add Packages and use Readium's GitHub repository for the package URL: https://github.com/readium/swift-toolkit.git.

You are then free to add one or more Readium libraries to your application. They are designed to work independently.

If you're stuck, find more information at developer.apple.com.

CocoaPods

Add the following pod statements to your Podfile for the Readium libraries you want to use:

source 'https://github.com/readium/podspecs'
source 'https://cdn.cocoapods.org/'

pod 'ReadiumShared', '~> 4.0.0-alpha.1'
pod 'ReadiumStreamer', '~> 4.0.0-alpha.1'
pod 'ReadiumNavigator', '~> 4.0.0-alpha.1'
pod 'ReadiumOPDS', '~> 4.0.0-alpha.1'
pod 'ReadiumLCP', '~> 4.0.0-alpha.1'

Take a look at CocoaPods's documentation for more information.

Local Git Clone

You may prefer to use a local Git clone if you want to contribute to Readium, or if you are using your own fork.

First, add the repository as a Git submodule of your app repository, then checkout the desired branch or tag:

git submodule add https://github.com/readium/swift-toolkit.git

Next, drag and drop the whole swift-toolkit folder into your project to import Readium as a Swift Package.

Finally, add the Readium libraries you want to use to your app target from the General tab, section Frameworks, Libraries, and Embedded Content.

Building with Readium LCP

Using the toolkit with Readium LCP requires additional dependencies, including the framework R2LCPClient.framework provided by EDRLab. Contact EDRLab to request your private R2LCPClient.framework and the setup instructions.

Credits

This project is tested with BrowserStack.

Frequently asked questions

Is swift-toolkit free to use?

swift-toolkit is open source under the BSD-3-Clause licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does swift-toolkit do?

A toolkit for ebooks, audiobooks and comics written in Swift

What is swift-toolkit written in?

swift-toolkit is primarily written in Swift. Its source is publicly available at https://github.com/readium/swift-toolkit, and it has 552 GitHub stars.