This week saw all of the beta 4's arrive and with them, more changes to Swift 2. Airspeed Velocity has a great round up of all of the changes since we saw beta 1 which is worth a read if you haven't been keeping up to date.
One of the biggest changes with Swift 2 in beta 4 is that strings are no longer collections. This post on the official blog explains the reasoning behind the change. I'm also very happy to see these official posts back up and running. It's been a while since we saw a new one and I was beginning to think it might have been a failed experiment. I'm very glad that it isn't!
The wonderful Fastlane project continues to grow and this week it was TestFlight's turn for automation. It comes in two parts, Pilot which automates the TestFlight system and Boarding which is a simple web app for collecting and registering external testers. You can also read some of Felix Krause's (the author of Fastlane) thoughts on automation which accompanied this release.
Up until now I've generally used Charles for grabbing this kind of information but ResponseDetective hooks directly into your code. It uses the standard iOS networking stack and provides logging from all network requests. If you're looking for more detail on how and why, there's also a good write up in the associated blog post.
I'd imagine that many of us haven't even installed or opened iAd producer. I know I hadn't really played with it at all so I was pleasantly surprised when I read this article by Linda Dong which takes you through the development of a prototype using it.
I've linked to articles like this before but it's been a while so it's great that Soroush Khanlou has reiterated the point. There's definitely a place for Core Data (or other full database frameworks) but NSCoding is always my first port of call when I'm just caching data from a web service, which is all that many apps need to do.
I've been using child view controllers since they first made an appearance in iOS 5 but I had missed that they had been added to Interface Builder. Mike Woelmer has a nice write up of how to get started with adding them to your storyboards.
Interesting discovery by Sam Soffes in Swift 2 beta 4. It's possible that this is not intentional and that the behaviour will change but if it makes it to the release you'll certainly want to be aware of it. On a bit of a tangent, this commit comes from TZStackView which is an API compatible UIStackView implementation that supports both iOS 7 & 8. Looks great.
Luke Wroblewski with some great techniques for avoiding drop down controls on iOS. The most common time to see this problem is in apps that are mirroring a process originally taken from a web site. There's always a better native solution than a drop down!
Generally, you can't go far wrong with sticking to the standard iOS design conventions. However, this article picks out four staples of iOS design and makes a recommendation either to avoid them completely, or at least think carefully about how you're using them.
Craig Hockenberry with a (justified) rant on how far OS X is lagging behind iOS with support for various things such as TestFlight, App Store promo videos, Analytics, and other "luxuries" we enjoy on iOS. Daniel Jalkut's follow up post is also worth a read. More evidence that Apple need to slow down? Or is it purely a matter of iOS being more important to them than OS X?