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 11.2.1


Reading List uses a couple of package managers:

  • Mint, to manage Swift command line tool packages
  • Bundler, to manage Ruby tools

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

brew install mint
gem install bundler


The Xcode project should be generated by running XcodeGen:

mint run yonaskolb/XcodeGen


SwiftLint is used to enforce Swift style guidelines. An Xcode build step runs SwiftLint; this requires it to be installed. To install it, run:

mint install realm/SwiftLint


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: 167
Help us keep the lights on


Used By

Total: 0


v1.11.0 - Apr 19, 2019

What’s Changed

  • Build process adjustments (#16) @AndrewBennet
  • Put the book count in the section header, rather than table footer (#18) @AndrewBennet
  • Drop iOS 10 support (#17) @AndrewBennet
  • General refactor (#19) @AndrewBennet
  • Add ordering capabilities to custom Lists (#20) @AndrewBennet
  • Delete 1x assets (#21) @AndrewBennet
  • Easier List title editing (#22) @AndrewBennet
  • Add search functionality to Lists (#23) @AndrewBennet
  • Search results improvements (#24) @AndrewBennet
  • Sort ordering improvements (#26) @AndrewBennet
  • Improved List Management from context of a book (#27) @AndrewBennet

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.