28

GitHub - readium/r2-testapp-swift: ? An EPUB & CBZ reading app for iOS

 5 years ago
source link: https://github.com/readium/r2-testapp-swift
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Readium-2 Test App (Swift/iOS) Available on the AppStore

A test app for the Swift implementation of Readium-2. Stable builds are published on the AppStore.

Follow the project on ZenHub.

BSD-3

Features

  • EPUB 2.x and 3.x support
  • Readium LCP support
  • CBZ support
  • Custom styles
  • Night & sepia modes
  • Pagination and scrolling
  • Table of contents
  • OPDS 1.x and 2.0 support
  • FXL support
  • RTL support

Demo

Dependencies

  • Shared Models (Model, shared for both streamer and navigator)
  • Streamer (The parser/server)
  • Navigator (The bare ViewControllers for displaying parsed resources)
  • Readium CSS (Handles styles, layout and user settings)

Install and run the testapp

  1. Fetch the dependencies using Carthage :

$> carthage update --platform ios

  1. Generate Carthage input/output filelist using Carting

$> carting update

  1. Open the xCode project :

$> open r2-testapp-swift.xcodeproj

  1. Build the project target named r2-testapp-swift (carthage).

More build and dependency information can be found in r2-workspace-swift

[@Contributors] Efficient workflow for testing changes on Readium-2

The release target r2-testapp-swift uses the libraries and frameworks built by Carthage, while the debug r2-testapp-swift-DEBUG can be modified to use local version of  r2-shared-swift, r2-streamer-swift and r2-navigator-swift depending of which you want to modify. Doing so will allow you to see the changes directly in the testapp, without the need for a Carthage cycle.

If you want to contribute to the development, I recommend creating a Workspace which contain the 4 projects (shared, streamer, navigator and testapp), and to use local Products as dependancies of the others to shorten development time. e.g: in your local clone of r2-navigator-swift, create a debug target which uses the Product of your local clone of r2-shared-swift. That way, when you modify and compile r2-shared-swift, the modifications are directly taken in your next r2-navigator-swift build.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK