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?