CocoaDocs Co-located

TL;DR: just got Jazzy support, became more stable, and is now sending stats to our status page.


CocoaDocs is a server that generates CocoaPods documentation. It started out by generating Apple-compliant DocSets via appledoc on a hosted Mac and then sends the results to Amazon's S3 where they are served statically.

Maturation Process

Appledoc is great, but it's not going to be supporting Swift anytime soon. CocoaPods has been supporting Swift Pods since New Year 2014, and we wanted to be able to provide hosted documentation for these pods too. Sam Giddins took the initiative here and added early support for Swift Pods via Realm's Jazzy. You can see a few Pods here: Observable, Moya, JSONJoy and QRReader.swift. There's no fancy design work yet, we will get to that in time.

Given Swift's immaturity, this is going to be an interesting problem, as the CocoaDocs server has no way of determining which version of Swift your library supports. For now this is solved by only supporting stable Xcode releases. In the future, it may make sense to add a range of supported Swift releases to your podspec per-release.

Towards the end of the 2014, the CocoaDocs server was starting to have some real issues, the generator would be down for days, and trying to ssh in would fail. It was turning out that the shared VPS we were using was falling over after a certain amount of time, likely due to running out of RAM. In order to get the server back up and running I had to submit a support ticket and get someone else to reboot it.

Around this time, Button reached out to me to ask if this was a problem they could help solve. Given that until this time I had been paying for CocoaDocs myself, I had done everything I could to optimise it for my wallet. ( CocoaDocs was costing me about $450 a year. ) So we jumped at the chance to do it right. CocoaDocs is now running on, and it's a dream to ssh or Screen in. Thanks a lot Button!

In the process of moving I added one more feature. We now send data to the CocoaPods status page saying how many pods have been documented in the last 24hrs. Hopefully this should result in some useful insight into "is it working?" and give a sense of how much work it is doing.