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.5


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, some of 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: 207


Used By

Total: 0


- 2019-04-19 11:47:11

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

- 2019-02-01 20:25:35

What’s Changed

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

v1.10.0 - 2019-01-31 00:07:31

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

- 2018-03-22 13:34:45

v1.7 - 2018-02-13 13:09:06

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 - 2017-10-10 16:45:15

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

v1.5.1 - 2017-10-07 14:49:43

Minor bug fixes

v1.5 - 2017-09-30 15:42:29


  • iOS 11 support, including some visual tweaks to match the iOS 11 design style (note: marking a book as started / finished is now done by a swipe to the right, rather than to the left).
  • Dynamic text size support: the app now adjusts the text sizes according to your device's Accessibility settings
  • After adding a new book, the table now scrolls to the new book's position
  • When exporting, the file now includes the name of the device


  • Various minor bug fixes

- 2017-08-31 12:03:38


  • Fixes a bug which could cause the app to crash when adding a book manually.

- 2017-08-31 12:02:10

New Features:

  • Better author metadata: you can now record multiple authors per book, and specify each author's first and last names.
  • New book sort order configuration: books can now be ordered by author surname. Select desired order in Settings -> Book Sort Order.
  • The number of books is now displayed at the bottom of the To Read and Finished tabs.


  • Fixes an issue where a search would not be performed when a barcode scan yields no results.
  • Fixes an issue where, when manually adding a new book, subjects were not saved.
  • Fixes an issue where the Open Source Attributions hyperlinks were not selectable.
  • Fixes an issue where the book ordering would not be used when exporting to CSV.
  • Fixes a rare issue where the app could occasionally crash when searching for books online.

- 2017-08-11 10:05:29

New Features:

  • Record your page number for books which you are currently reading. Edit a book's reading log to enter your current page number.
  • Configurable book sort order: books can now be ordered by title (ordering by author coming soon). Select desired order in Settings -> Book Sort Order.
  • Search books by subject: when searching within your own books, subjects are now taken into account.


  • More space is given on-screen for your reading log notes.
  • When a barcode scan yields no results and a more general search is used, the general search now begins straight-away (instead of waiting for you to click “Search”).
  • Added a share button in the Settings page, so you can easily share the app with fellow book catalogue enthusiasts.
  • Slightly changed layout: the tab bar now goes across the whole app for iPad, rather than just the bit on the left. On iPhone, the tab bar stays present when viewing a book.

- 2017-07-21 20:12:37

Initial App Store release - 2017-07-20 08:08:26