Sponsored Link
Let El Loco take the crazy out of iOS app localization
From start to finish, localizing your iOS app with El Loco can save you days of prep work and weeks of testing and revisions. Discover how El Loco makes it easy to reach a global audience.
News
Apple Disables App Store Reviews From Devices Running iOS 9
Wha-hey! I'm certain my comment last week had nothing to do with this but I'm really glad to see the change made. Feels like I should end this one with... Finally!
Strings in Swift 2
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!
Tools
Pilot and Boarding
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.
ResponseDetective
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.
Prototyping with iAd Producer
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.
Code
Cache Me If You Can
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.
Adding an iOS Container View in Xcode
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.
Swift getter/setter methods in init and deinit
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.
macOS Development
Half-Assed
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?
Design
Dropdowns Should be the UI of Last Resort
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!
iOS Design Rules to Break
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.
And finally...
History of Icons
The more things change the more they stay the same...
(Oh and if you're reading this on mobile, my apologies. Scrolling is completely broken on that page for mobile Safari).
Comment
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.
Also, performSelector, which I didn't expect but am happy to see!
Dave Verwer