Development: Between docs and headers

I’m trying to figure out a strategy for that hazy place when docs don’t yet show a property/feature but headers do.

Take the latest versions of NSLayoutConstraint.h. It’s got quite a lot of NS_ENUM_AVAILABLE_IOS(8_0) features that do not appear in the docs. The property is documented in the latest pre-release docs, but it appeared in the headers with iOS 8 gold (and, obviously, during the iOS 8 beta period).

So how do you trust docs vs headers? Is the header a contract or are the docs a contract?


  • I go by the headers. For example NSBatchUpdateRequest (part of Core Data) was mentioned in Session 225 of WWDC 2014, but as far as I know it hasn’t been documented.

  • Documentation has not yet caught up with most of the Yosemite features. Guess the same holds true for iOS 8.