Sponsored Link
Contentful: an API-first content backend with a Swift-based SDK
When content is not hardcoded, it's a pleasure to maintain: Contentful delivers managed content to mobile apps via its JSON API. We focus on simplifying development: there are SDKs for many platforms, including iOS, watchOS, tvOS and OS X - based on Swift 2. We invite you to try Contentful, the most developer-friendly CMS.
News
Resolution Center in iTunes Connect for iOS
No more panic, or fumbling around with the desktop site on your phone when the dreaded "There is a problem with your app" emails come in. Resolution Center is now available from within the iOS app so you don't have to wait any time at all for the bad news. π
React Native for OS X
This is interesting. It's a fork of React Native rather than being an official Facebook project but if you use React Native on iOS and need to write a Mac app, it's worth taking a look at. Unfortunately the sample app crashed for me on launch so I can't tell you how it feels in use, but the screenshots look promising!
Tools
Download dSYM files from iTunes Connect for bitcode apps
One of the biggest problems with adopting bitcode was that it became pretty difficult to get symbolicated builds into your crash reporter. Turns out that the new dSYMs were downloadable from iTunes Connect via Xcode and so Felix Krause automated the process as part of fastlane. π Of course he did!
Code
Using Swift Extensions The βWrongβ Way
How many extensions is too many? According to Natasha Murashev there's really no limit. I really like that this came originally from the desire for a #pragma mark replacement when Swift first arrived, but then turned into a better way to organise code.
Using types to keep yourself honest
Matthijs Hollemans works through the process of designing some types in Swift. It's a really well explained walk through of not only the solution, but the process of getting there.
The best table view controller
Dominik Hauser with a look at his current thinking about the best way to architect a table view controller. I like posts like this because they take a concept we're all very familiar with and look at it with the new perspective that Swift gives us. I also like this solution because it's not over complicated.
Breaking Swift with reference counted structs
Matt Gallagher digs into the weeds of Swift structs and reference counting. It's pretty obvious that you should never use some of the techniques in this article, but it makes an interesting read and you'll definitely learn more about the language.
Design
macOS: Itβs time to take the next step
Plenty of people (including me!) have been predicting that UIKit will make some kind of appearance on a future version of OS X/macOS for a long time. In this article, Andrew Ambrosino has mocked up a possible future where this has happened. Note that I don't think anyone is saying that iOS apps should be installable "as is" on OS X, that would be a terrible user experience. Instead, this is more like adding a new platform built on top of UIKit much like what happened with tvOS recently.
Business and Marketing
Nostalgianomics
Chris Adamson makes some great points here in this post on business models and the App Store. Outside of games, where is the money being made? It's almost all in services, not functionality. Worth a read.
Videos
Design of Everyday Swift
Rachel Bobbins talking at try! Swift on writing better code, inspired by The Design of Everyday Things.
And finally...
Retro Flappy Bird
Who knows how many hours of planning combined with 53 long painful minutes to enter the code, and the reward is to play Flappy Bird? The most frustrating game ever! That's a special kind of masochism! π€
Comment
So, how many of you can claim that your app broke links system wide on iOS? π₯ As I'm sure everyone is aware, the combination of the 9.3 update and the universal link association file in the Booking.com app caused a nasty issue for plenty of people this week.
The unfortunate part of the bug is that once you'd run into it, fixing it was pretty complicated. Ben Collier has a good write up of the possible causes of the problem and it looks like it was a combination of factors, rather than purely the large association file.
Anyway, the drama is all over now because iOS 9.3.1 released yesterday included a fix and it also looks like the Booking.com app was updated quickly too. I think the amount of flak that Booking.com got in this was a little unfair though as this is Apple's problem whichever way you spin it. Yes, 2.4Mb is big for a file listing URLs but it's not ludicrously big and if Apple needed to put a limit on it, that's well within their power! I'm not trying to be too harsh to Apple either, bugs like this happen and it's definitely an edge case.
Still, it's all fixed now. π
Full disclosure: Booking.com have previously been a sponsor of iOS Dev Weekly on multiple occasions. I can assure you it didn't affect what I wrote here though.
Dave Verwer