Swiftpack.co - Package - AndrewBennet/ReadingList

Reading List

Build Status codebeat badge

Reading List is a free, open source iOS app for iPhone and iPad. Reading List allows users to track and catalog the books they read.


  • Xcode 10.2


Reading List uses a couple of package managers:

  • Mint, to manage Swift command line tool packages
  • Bundler, to manage Ruby tools
  • SwiftLint, to enforce Swift style and conventions

Mint and SwiftLint can be installed using Homebrew (among other methods); Bundler can be installed with RubyGems:

brew install mint
brew install swiftlint
gem install bundler


The Xcode project should be generated by running XcodeGen:

mint run yonaskolb/XcodeGen


Reading List uses various third party libraries, which are managed using CocoaPods. To ensure that CocoaPods is installed, run bundler install. To install the libraries, run:

pod install


Reading List is written in Swift, and primarily uses Apple provided technologies.


Reading List mostly uses storyboards for UI design (see below); a limited number of user input views are built using Eureka forms.

Example storyboard

Data persistence

Reading List uses Core Data for data persistence. There are three entities used in Reading List: Book, Subject and List. The attributes and relations between then are illustrated below:

Core data entities


Stars: 114
Help us keep the lights on


Used By

Total: 0


v1.10.1 - Feb 1, 2019

What’s Changed

  • CI script to include building in release mode (#14) @AndrewBennet
  • Better support import of CSV files (#15) @AndrewBennet

v1.10.0 - Jan 31, 2019

New Features:

  • Added a reading progress bar to books currently being read
  • Added a setting to control whether new books are added to the top or the bottom of the To Read list
  • Enabled quicker update of current page number: when editing reading log details the current page field is preselected


  • Prevent duplicate books being shown in results when searching online
  • General performance and stability improvements

v1.7.6 - Mar 22, 2018

v1.7 - Feb 13, 2018

New Features

  • Custom Lists. You can now create your own lists and add whichever books you want to it. "Favourites", "Wish List", "Borrowed from the Library" - whatever you need. Add the lists from the book details page (or from the To Read / Finished pages); view the lists from the new Organise tab.

  • Reworked book details page. The book details page has had a little re-layout, to make it look nicer. On iPads, the extra space is used more effectively.

  • Share button. Easily share the title and author of a book with the share button on the book details page.


  • Numerous other tweaks and improvements.

v1.6 - Oct 10, 2017

New Features

  • Add multiple books at once when searching online: tap “Select Many” at the bottom and select the books to be added. Note: when adding multiple books, they will all be added as “To Read”
  • More "swipe" actions: the Edit Book and Reading Log screens are now accessible by swiping the table cells. They also have icons now. (iOS 11 only, sorry)
  • Edit multiple books at once: when you tap "Edit" on the book table, you can now select multiple books. You can mark them as Started or Finished, or Delete them - all at once
  • New "Find on Amazon" option available when tapping the Share/Action button on the book details screen. This takes you to a book search on your local Amazon site. Disclaimer: if you buy any books from these links, Amazon will give me a few pennies!


  • A confirmation dialog is shown when attempting to cancel a screen which has unsaved changes (e.g. editing book details)
  • New design of the Start and Finish buttons on the book details screen
  • Removed a superfluous (and confusing) Cancel button from the Online Search page


  • Fixed a typo