What Version of Xcode Are You Using?

As a library developer for iOS Apps, it is always important to be aware what version of Xcode my users (other iOS devs) are using. This allows us to take advantage of new IDE features, but also support those who are lagging behind.

To assist with this, yesterday I did a quick poll on Twitter and asked — what version of Xcode are you using?

The Results

[embed]https://twitter.com/samjarman/status/686297486265192448[/embed]

Thanks to those 65 people who responded! :D

A total of 65 developers responded with 95% of people saying they use Xcode 7 or higher. This is by no means a large sample size, but it’s its certainly a good indication of where people are heading.

What this means

In Xcode 6.3, Nullability annotations were added to Objective-C. This allows you to decare whether properties, return types or arguments can be nil or not. This gives you more power when declaring your objects and their methods and properties. If you’re using Objective-C code from Swift, this converts nicely into optionals. That is to say, using nonnull or nullable will directly influence the appearance of ! and ?. Read more.

In Xcode 7, Objective-C gained support for both Generics and Kind Of annotations. This means you can both express and restrict the type that arguments can be and once again, this helps out Swift users too! No more [AnyObject]. Read more.

So, if you know which version of Xcode your users are on, you can roll out these features to them and improve their experience because as a library developer, your goal should always be a delightful developer experience.

So with this knowledge, go forth and make your library even more awesome!