The Airsource Blog

Did you notice this bizarre iOS 8 release process option?

I think there may be some confusion over at Donut Central about how a release process is supposed to work. I was recently perusing the Foundation changes in iOS 8 and noticed an absolute gem: iOS 8 API Diffs Say what? I went and checked the iOS 7 diffs - it is definitely there!

Here's what the iOS 7 header says:

/*!
    @const NSURLErrorBackgroundTaskCancelledReasonKey
    @abstract The NSError userInfo dictionary key used to store and retrieve the NSNumber corresponding to the reason why a background
    NSURLSessionTask was cancelled
 */
FOUNDATION_EXPORT NSString * const NSURLErrorBackgroundTaskCancelledReasonKey NS_AVAILABLE(NA, 7_0);

and here's the corresponding version from the iOS 8 headers:

/*!
    @const NSURLErrorBackgroundTaskCancelledReasonKey
    @abstract The NSError userInfo dictionary key used to store and retrieve the NSNumber corresponding to the reason why a background
    NSURLSessionTask was cancelled
 */
FOUNDATION_EXPORT NSString * const NSURLErrorBackgroundTaskCancelledReasonKey NS_AVAILABLE(10_10, 8_0);

Reading between the lines, maybe this is code for "We know it is in iOS 7, but it will never actually work".

Next, take a look at how XCode has been released. A few weeks ago we had Xcode 6.1 GM (Gold Master). Then, a bit later, we had Xcode GM 2. Guessing the first one was more of a Silver Master then.