Dash, Xcode 11 and macOS Catalina

In case you like living on the edge, Dash 4 seems to work great with the macOS Catalina beta.

The Apple API Reference docset was updated to work with the latest docs from the Xcode 11 beta.

To use the Xcode 11 beta docs, make sure xcode-select -p (in Terminal) points to the location where you have Xcode 11 installed.

Use xcode-select -s <path-to-xcode> (in Terminal) to change the active version of Xcode and then check for updates in Dash’s Preferences > Downloads to make sure Dash picks up the change.

The Swift docset in Dash is based on swiftdoc.org, which has not been updated to Swift 5 yet. As soon as it’s updated, the docset will also be updated. In the meantime, you can get the Swift 5 docs by using the Apple API Reference docset (mentioned above) with Xcode 11.

Please let me know if you encounter any issues or if you have any special requests.

Dash’s Year in Review: 2017

I’m happy to report Dash has had its best year to date. Revenue in 2017 was 30% higher than Dash’s previous best year, 2015.

Revenue Sources

Users from 128 countries have purchased Dash. The top regions and countries are shown below:

Bandwidth Usage

Dash used 520 TB of bandwidth in 2017, distributed over 7 servers:

Server Costs

Server costs were $4,835 in 2017.


Dash currently has 202 docsets maintained by me, 316 docsets maintained by users and 112 cheat sheets. All these docsets take up 112 GB of disk space.

The top docsets are shown below:


It’s been an amazing year which will be hard to beat in the future. I’m very happy and grateful with how Dash is doing and for the community that’s growing around it. A lot of things are in store, stay tuned.

Happy New Year!

Dash for iOS: Back on the App Store

TL;DR: Dash for iOS is back on the App Store and it’s completely free.

Ever since I’ve open-sourced Dash for iOS there have been a lot of requests for Dash to get back on the App Store, as the process to install it from source isn’t exactly user-friendly.

Quite a few “developers” have even added it to the App Store themselves, violating the GNU GPL license in the process. Apple has been very responsive in removing these apps, but the developers kept adding it back in different shapes and forms and I got tired to fill the same copyright claim forms over and over.

I’ve made a personal developer account which Apple accepted and the review for Dash for iOS went through without any issues. I hope this will somewhat stave off the pirated copies of Dash from appearing on the App Store. We’ll see.

The macOS version of Dash will continue to be sold exclusively on kapeli.com.

Dash 4: Now Available!

TL;DR: Download Dash 4 for macOS and try it out!

Dash 4 is the latest and greatest Dash release. It incorporates the most popular feature requests in a new streamlined interface. Enjoy!

Dash 4 is a paid upgrade ($14.99) for existing Dash users. To upgrade, download Dash 4 and add your Dash 2 or Dash 3 license in Preferences > Purchase and you’ll be prompted to upgrade.

Anyone that has purchased Dash after the 1st of December 2016 gets to upgrade for free.

What’s New

  • New Interface – Clean, modern, with a focus on what matters most: the docs
  • New Dark Mode – Night owls, rejoice! The entire Dash interface can now be turned dark
  • Web Searches – You can now add/edit fallback web searches (e.g. Google or Stack Overflow) in Preferences
  • Docset Playgrounds – Most docsets now show “Play” buttons which let you quickly test snippets of code
  • Search Using Selected Text – This feature has been completely remade and is now more reliable, even in apps that don’t support system services. Set a hotkey for it in Preferences > General
  • Tab Improvements – You can now reopen the last closed tab, duplicate tabs and close all tabs except for the selected one

Lots of other improvements:

  • You can now easily manage docsets directly from the docset browser, using drag and drop, right click and/or the add button
  • You can now manage bookmarks from the top menu bar
  • Searching in Preferences > Downloads is now synchronised across all docset sources
  • You can now copy the external URL of documentation pages for easier sharing
  • The Add button in Preferences > Docsets now offers the option to download docsets
  • Installing a docset will now also add it to your currently active search profile (Note: can be disabled in Preferences > Docsets > Settings)
  • You can now manage the default profile settings from the search profiles popover
  • Dash’s web browser is now a bit smarter

Download Dash 4

Dash 4 is a paid upgrade ($14.99), but it’s free to download and try out. If you encounter any issues or need any help, contact me.

100 Days Without the App Store

A lot of users have expressed concerns about the future of Dash after Apple removed it from the App Store. This post is meant to give some insight into how Dash is doing exactly, as well as some interesting tidbits.

Revenue in 2016

All of Dash’s App Store revenue has migrated to direct sales, with a slight increase.

The downhill from Q1 to Q3 is due to saturation of the Dash 3 paid upgrade. I haven’t had any sales or promotions for the entirety of 2016.

Dash for iOS was never a significant part of my revenue and like most iOS apps it was never sustainable. I should have open-sourced it a long time ago, as it now brings in more revenue by promoting Dash for macOS.


Most of the App Store users of Dash 3 have migrated their license to the direct version. I was able to use the in-app notification mechanism I had to let them know about what’s going on so that they don’t get cut off from the app they paid for.

Unfortunately I have no data on what happened to the App Store users of Dash 2 and I have no way of notifying them.

Interesting Tidbits

  • Dash for iOS returned to the App Store just a few days after I open-sourced it, thanks to He Tiancong and Jie Wang. This is despite the fact that I specifically chose a license that’s incompatible with the App Store. I highly recommend avoiding Dash on the iOS App Store, as I do not know what modifications they have made to my code.
    • Later Update: Two more developers just released Dash on the iOS App Store as paid apps: Cuilian Su and Zuogen Zhang.
    • Later Later Update: These apps have now been removed from the App Store.
  • Dash continues to be used by a lot of Apple Engineers and I’ve received great help from them in debugging issues and in supporting the new Xcode 8 documentation format.
  • It feels great to have full control over my business and to avoid App Store installation/updating/purchasing issues.


I was lucky to have setup a direct way of distributing Dash a while ago and as a result I’ve been mostly unaffected by the removal from the App Store.

Dash for iOS 1.6.0

Dash for iOS 1.6.0 is now available.

What’s New

  • Added support for cheat sheets – #22
  • Added support for user contributed docsets – #20
  • Added state restoration support. Thanks to @zhongwuzw for the great work on this – #18
  • Fixed Unity 3D docset bug which caused it to not remember the selected language. Thanks to @hantengx for reporting the issue – #17
  • Fixed a crash in the docset downloader. Thanks to @zhongwuzw for the fix – #16
  • Stopped an evil if() from taking over the world. Thanks to @BalestraPatrick for reporting the issue and @flovilmart for fixing it – #4

Dash 3.4

Dash 3.4 is now available.

What’s New

  • Apple API Reference Improvements:
    • The Apple API Reference docset now reads the docs from within Xcode 8. This reduces disk space usage while also allowing me to modify & improve the docs at display-time. Thanks a lot to the Xcode team at Apple for helping me understand the new documentation format!
    • The doc pages of classes will now display full method/property docs inline (i.e. how the old docs used to be)
    • The parent class will now be shown at the top
    • For any other improvement ideas, please contact me
  • Angular for TypeScript Docset. An “AngularTS” docset is now available in Preferences > Downloads.
  • Lots of minor improvements and bug fixes.

That’s all. Thanks for using Dash!

Dear Dash Users

It does not look like Dash can return to the App Store anytime soon. Due to Dash’s removal from the App Store, please note that you can no longer download the apps you paid for.

Dash for macOS

App Store users of Dash should migrate their license immediately. If you lost access to the App Store version of Dash, please contact me with your purchase receipt. If you’d like a refund instead, please contact App Store support.

Non-App Store customers of Dash are unaffected. If you purchased directly, you don’t need to do anything.

Dash for iOS

Update: Dash for iOS is now open-source.

Dash for iOS can’t be distributed outside of the App Store. My preferred solution would be for a fellow developer to get it back on the App Store, as a free app. Open sourcing doesn’t look like a good solution at this time, as most of my users are not iOS developers and are not familiar with compiling an app for their devices.

Thank you for your support

Thank you for your understanding and ongoing support. I will try to respond to support requests and migration issues as soon as I can, to make this process as easy as possible.

— Bogdan

Dash and Apple: My Side of the Story

Since last week’s post regarding Dash’s removal from the App Store I’ve been in contact with Apple.

What I’ve done: 3-4 years ago I helped a relative get started by paying for her Apple’s Developer Program Membership using my credit card. I also handed her test hardware that I no longer needed. From then on those accounts were linked in the eyes of Apple. Once that account was involved with review manipulation, my account was closed.

I was not aware my account was linked to another until Apple contacted me Friday, 2 days after closing my account. I was never notified of any kind of wrongdoing before my account was terminated.

What Apple has done: on Friday they told me they’d reactivate my account if I’d make a blog post admitting some wrongdoing. I told them I can’t do that, because I did nothing wrong. On Saturday they told me that they are fine with me writing the truth about what happened, and that if I did that, my account would be restored. Saturday night I sent a blog post draft to Apple and have since waited for their approval.

Tonight Apple decided to accuse me of manipulating the App Store in public via a spokesperson.

Last call from Saturday with Apple

Apple insisted that all communication was through phone calls. Luckily, I recorded my last phone call with them, in which they admit that:

  • They want me to write a blog post in order to restore my account
  • They never notified me beforehand about what was going on

Update: Just to make it clear, I have complied with Apple’s request and have sent a blog post draft approximately 30 minutes after this phone call ended. I have since not received any contact from Apple in any way, and they did not respond to my calls. Their recent statements come as a shock as I thought we were working together to resolve this issue.