A free and open source xkcd comic reader for iOS.

Last update: Jun 5, 2022

Banner

Build Status GitHub license Coverage Status

A free, ad-free, open-source, native, and universal xkcd.com reader for iOS. Download it from the app store now!

portrait

Architecture

Version History

  • v2.5 (Submitted to the App Store)

    • iPhone X support
    • Added support for the four most common languages used by users other than English. German, Simplified Chinese, Spanish, and Russian.
    • Conducted full accessibility audit and implemented improvements.
    • Added 3d-touch previewing of comics from list.
    • New light-weight iOS app rating prompt replaced old alert-view style implementation.
    • Minor bug fixes and improvements
  • v2.4

    • Bookmarking comics - If you enjoy reading all the comics in order, you can bookmark a comic from the comic screen and we've provided an option from the main comic list to be taken back to where you left off at any time.
    • The "alt" view now includes the comic number as well as a "Explain" button that will take you to the explainXKCD site for that comic, in case you'd like a little more context.
    • View All Unread - quickly filter out all viewed comics, seeing only unread comics in the list.
    • Clear Cache - deletes all comics, resets all saved information including
    • View Bookmarked Comic - As previously mentioned, when you select this menu option you will be taken back to the comic you bookmarked and can continue browsing in-order.
    • View All Comics - this option will return to the unfiltered list if any of the above filters were applied.
  • v2.3

    • Fixes a comic view controller zooming issue caused by zooming in on a comic, viewing the alt text, then moving to the next/prev comic, resulting in the comic being zoomed out too far.
    • Added a Today Widget showing the most recent comic.
    • Removed GTrack and Google Analytics libraries.
  • v2.2

    • Fixes an issue with some of the known interactive comics, using a web view controller instead of the native comic view controller as a stop-gap until we work out some other solution.
    • Ask users to leave a review, only once ever, to get some more feedback.
    • Swipe navigation between comics.
    • Share sheet.
    • Moved alt button to bottom for easier use on larger devices.
    • Random comics can be viewed from the comic list, making it easier to randomly browse.
  • v2.1.1

  • v2.1

    • Share comics to Facebook and Twitter
  • v2.0

    • Added the ability to favorite a comic, which is indicated on the comic list with a pretty red heart. Along with this, you're able to toggle a filter on the comic list to see only favorites
    • Roll-the-dice to view a random comic
    • Navigate forward and backward through comics directly from the comic view controller
    • Fixed a potential issue with comics not loading on the first launch
  • v1.2

    • Visual indication that comics are read vs. unread
    • Improved comic view layout so some comics won't be cut off by the alt button
    • Hopefully corrected issue related to disappearing push notifications
  • v1.1

    • Improved scrolling performance
    • Search beta
    • Silent push notifications w/ vibration & app badge
    • Bug fixes
  • v1.0

    • Initial Release - you can read comics and stuff...

Contributors

Want to help?

Download the app and use it - give us feedback! Leave a star on the repo, and a review on the app. If you find any bugs, have any feature requests, or want to say mean and nasty things to me, open an issue, and if you can patch the bug or add a feature and submit a pull request, even better - just make sure to follow the same code formatting/style and BE SURE TO ADD TESTS if applicable.

License / Attribution

The source is made available under the MIT license. See LICENSE.txt for details. For information regarding xkcd licensing, click here.

Social sharing icons from Zlatko Najdenovski via a Creative Commons Attribution 3.0 Unported License.

GitHub

https://github.com/mamaral/xkcd-Open-Source
Comments
  • 1. Remove tracking/Add option to disable tracking

    I am concerned that this software is tracking users without their consent, and without the option for users to disable this tracking. After reviewing the source of this application, I see that almost every event is tracked.

    Reviewed by JohnMH at 2016-12-08 01:55
  • 2. [Feature Request] Search comics including text

    In the other XKCD app I have, I can search a phrase or text from the comic content itself, not just the title and it will find it. That would be awesome for this app! I even have an idea for how to do it.

    Reviewed by Pocketkid2 at 2017-01-02 04:57
  • 3. Handle Interactive Comics

    Some comics aren't just images, they might be interactive pages or GIFs or some other stuff that we need to handle accordingly. First we need to investigate what these comics are and how to handle them. We should also use this area to keep track of any we come across.

    Reviewed by mamaral at 2015-05-19 04:44
  • 4. Privacy

    Locking an issue like that is absurd. The issues with privacy on Apple software is as well documented as with Microsoft software. That is not relevant to the issue that I created, which you ignored the important part of. The important part of the issue was the tracking code itself, not with the tracking account.

    Reviewed by JohnMH at 2016-12-10 17:59
  • 5. Won’t launch

    Brand new install on iPhone X with iOS 11.4. A small comic thumbnail appears for a second, then goes away, then a dialog box shows up with: “Oops! Am error occurred while loading this content. Please check your connection and try again” I am on WiFi. Uninstalling and reinstalling haven’t helped

    Reviewed by wallrodt at 2018-06-19 11:59
  • 6. Swipe to move between comics

    I always find myself attempting to swipe left and right when viewing comics on my phone, before remembering that the forward/back buttons are in the toolbar. A swipe-to-change-comics feature could be useful.

    Reviewed by AndrewC-B at 2015-12-14 09:29
  • 7. [Feature Request] Bookmark Comic

    Add ability to bookmark so you can quickly navigate to a specific comic - i.e. if you are reading them all in order and want to continue where you left off.

    Imagining a bookmark icon on the comic screen itself, and a bookmark icon on the comic list next to the heart icon that when selected will scroll-to and open the last bookmarked comic... Only one bookmark would exist per app?

    Reviewed by mamaral at 2016-12-22 18:42
  • 8. [Feature Request] Filter by Read/Unread

    Hey there,

    Thanks for your work on such a terrific little project.

    I would love to see the option to show only unread comics, this way you can make sure you literally have not missed a single XKDC comic created.

    Thanks!

    Reviewed by austin-guevara at 2016-12-20 19:47
  • 9. How to do to make Cell in ComicListFlowLayout between horizontal and vertical gap?

    @mamaral Hi!

    I think inside the Cell to do clearance, this will happen asymmetric clearance, if within ComicListFlowLayout for horizontal or vertical gap will be more beautiful,

    Like this picture: fc2e13e4-eb78-4e6e-97e1-96f5554c6eba

    Reviewed by xhzengAIB at 2015-08-03 14:56
  • 10. Feature suggestion: Make Widget Clickable

    Would it be possible to make the app's widget (pictured) clickable? Simply so that clicking on it opens the app and takes the user to the current comic?

    Reviewed by aashish-khub at 2022-05-05 15:28
  • 11. [Feature Request] The ability to reset images to unread, without removing favorites

    I would like to be able to reset my read comics to be unread, without removing my favorited comics (and cashed images), so that I can enjoy going through all of them again, and favorite any additional comics that I like.

    Currently, there is only the "clear cashe" button, which would remove all of my favorites.

    Possible solution: add another button (in the same menu that the "clear cashe" button is in) to "Mark all comics as unread"

    Reviewed by tuckjohn at 2021-04-27 05:01
  • 12. No iOS 14 Widgets

    The new iOS 14 supports widgets directly on home screen made using SwiftUI. This app should eventually support the updated widgets. Now that multiple different widgets (on top of multiple different sizes) is possible, maybe there could be “latest comic” widgets as well as “random comic” widgets.

    Reviewed by gallus-gallus at 2020-10-09 21:19
  • 13. Doesn’t load comics anymore

    Didn't open app for a week, not it won't load new comics. Cleared cache, now reports an error "Oops, an error occurred while loading content." Any ideas?

    Reviewed by JuanCab at 2020-07-16 13:07
iPad Comic reader based on ComicFLow

Overview Finally a comic reader for iPad done right! ComicFlow was designed with one goal in mind: providing the best experience for comic fans with l

Dec 2, 2021
An Xcode12 project for iOS that asynchronously downloads and displays xkcd comics
An Xcode12 project for iOS that asynchronously downloads and displays xkcd comics

AsyncXKCD An Xcode12 project for iOS that asynchronously downloads and displays xkcd comics images and captions. It fills a UITableView as needed to k

Nov 27, 2021
DMSi has a secure access room with a card reader on each side.

Interview - Card Reader DMSi has a secure access room with a card reader on each side. You must scan to enter and scan to exit. However, we've been ha

Oct 19, 2021
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/

Joplin® is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are sea

Jun 26, 2022
Open-source jailbreaking tool for many iOS devices
 Open-source jailbreaking tool for many iOS devices

Open-source jailbreaking tool for many iOS devices *Read disclaimer before using this software. checkm8 permanent unpatchable bootrom exploit for hund

Nov 6, 2021
Collaborative List of Open-Source iOS Apps

Open-Source iOS Apps A collaborative list of open-source iOS, iPadOS, watchOS and tvOS apps, your contribution is welcome ?? Jump to Apple TV Apple Wa

Jun 20, 2022
Beam: the open source Reddit client for iOS
Beam: the open source Reddit client for iOS

Beam for Reddit An open source Reddit client for iOS. Introduction Hi, we're Awkward. In 2014, we started working on a Reddit client called Beam. In t

Jun 23, 2022
Start your next Open-Source Swift Framework 📦
Start your next Open-Source Swift Framework 📦

SwiftKit enables you to easily generate a cross platform Swift Framework from your command line. It is the best way to start your next Open-Source Swi

Jun 2, 2022
Open-source implementation of Apple's Combine for processing values over time

CombineX 简体中文 Open-source implementation of Apple's Combine for processing values over time. Though CombineX have implemented all the Combine interfac

Dec 30, 2021
Open source Clips-inspired app.
Open source Clips-inspired app.

AlohaGIF Website Funny moments? Want to share it as a GIF, but you are worried that you will lose speech from video? Aloha will scan sound and attach

Jun 14, 2022
The QuoteKit is a Swift framework to use the free APIs provided by Quotable created by Luke Peavey.
The QuoteKit is a Swift framework to use the free APIs provided by Quotable created by Luke Peavey.

QuoteKit The QuoteKit is a Swift framework to use the free APIs provided by Quotable created by Luke Peavey. It uses the latest async/await syntax for

May 7, 2022
Free Monads in swift

This repo is based on my blog post on Free Monads in swift.

Nov 15, 2021
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

May 22, 2022
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Страницы доступны на sparrowcode.io/en & sparrowcode.io/ru Как добавить свое приложение Добавьте элемент в json /ru/apps/apps.json. Если ваше приложен

May 22, 2022
Set `Open using Rosetta` option on Xcode easily
Set `Open using Rosetta` option on Xcode easily

xcode-arch A utility to switch running architecture of Xcode on M1 mac. Motivation Currently, there is no way to toggle Open using Rosetta option othe

Jun 19, 2022
SwiftTypeReader - You can gather type definitions from Swift source code.

SwiftTypeReader - You can gather type definitions from Swift source code.

May 8, 2022
A Simple way help you drop or drag your source (like UIImage) between different App.

A Simple way help you drop or drag your source (like UIImage) between different App.

Mar 23, 2022
High-quality source code, easy implementation

High-quality source code, easy implementation

Nov 8, 2021
The source code to the civic tech project Öppna Skolplattformen.
The source code to the civic tech project Öppna Skolplattformen.

Give us a ⭐ if you appreciate what we do! Öppna skolplattformen We are parents who got fed up with Skolplattformen, the City of Stockholm's school adm

Jun 17, 2022