The New Adventures of Old AppKiDo

I have been making progress on a reboot of AppKiDo, which is a Mac app that I wrote for browsing the Cocoa documentation that comes with Xcode. AppKiDo stopped working in 2014, during the betas of Xcode 6, because of changes in the structure of Apple's docsets.

I now have it up and running again, in a preliminary but usable form. (The code is in a private repository; I will push it to the public one after ironing some things out. [UPDATE: Eh, why wait? The code is public at https://github.com/aglee/appkido. Remember, it's very much a work in progress.])

The best news, aside from having it run at all, is that it's launching much more quickly than it used to. There's still a lag, but it's much shorter now, because instead of laboriously parsing all the HTML files, I get almost everything I need from the Core Data store inside the docset.

There are serious limitations in the current version that will take time to address:

  • Still Objective-C API only. For example, if you search for "string" the search results won't include the Swift String class.
  • Xcode must be at /Applications/Xcode.app.
  • You have to pick the docset you want to browse at launch time.
  • Window states aren't saved between launches.
  • The "ALL" options are missing (as in "ALL Class Methods", "ALL Instance Methods", etc.).
  • And more.

As I write this, the keynote for WWDC 2016 is hours away. For the first time in a long while I am experiencing an old familiar feeling of suspense. Will there be some change to the docs in Xcode 8 that will upend everything I've been doing?

8 thoughts on “The New Adventures of Old AppKiDo

  1. Hey Great News, there is a file missing from the repo..

    /appkido-master/AppKiDo/Database/Export/AKDatabaseFlatFormatExporter.m

    which causes the build to fail.. still needed ? or can be deleted ?

  2. Removed AKDatabaseFlatFormatExporter.m and builds and runs.. Thanks for the great work

  3. Builds like a charm… one might say we hate it when you break the build also.. but then I'm inclined to do it on an hourly basis in my projects… thanks for the quick response.

  4. Ok… it's me the problem child again… the new build isn't picking up or showing the doc sets… the initial "Pick the doc set" window is blank.

    OS 10.11.5 xCode 7.3 (in app directory)

  5. DOH… my bad… upgraded xCode but hadn't reloaded the documentation sets… so AppKiDo was failing to find the doc set directory in my user/libraries…

    sorry for the mis-direction…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.