Sponsored Link
Prepping for a tech iOS interview? This book will help you ace it!
The iOS Interview Guide packs answers to more than 72 common iOS specific interview questions. It helps you prepare for the unexpected on your interview by giving you an overview of what there is to learn on the iOS platform. It covers Swift, UI, networking, storage, design patterns, architecture questions, and more. Get your copy here with a special discount of %25.
News
Deep Learning for Siriโs Voice
The evolution of speech synthesis is a fascinating topic and while you may not notice it because the changes are sometimes small and subtle, it gets better with every version of iOS. In this article from the Apple Machine Learning blog, the Siri team go into a huge amount of depth on some of the techniques used to tell you it can't do that. ๐
I also really enjoyed another of their articles posted this week on how Siri turns what it says into what text is displayed on the screen. What a fascinating team that must be to work on.
Wading Through AccuWeatherโs Bullshit Response
There's a simple lesson to be learned here. If you don't have the user's permission to access their location data, don't find a way around it and then send it back to your analytics service. Then... don't try and say you did nothing wrong. I'm quite sure none of us ever want to be the subject of a post like this. Wow.
Tools
WTF Auto Layout?
Auto Layout error messages are not known to be easy reads, so this tool from John Patrick Morgan that makes the errors much easier to debug is really valuable. Images and simple descriptions are shown for each constraint, making it much more feasible to find the issue with your layout. Anything that moves this complicated debugging from my head to the computer screen sounds good to me! ๐
Testing Auto-Renewable Subscriptions on iOS
StoreKit is notoriously difficult to test โ trust me, I know from experience ๐ and testing subscriptions is no exception. David Barnard shares what he has learned from his experiences in his own apps, including a production testing trick that I will definitely be using in my own projects.
DRY String Localization with Interface Builder
Storyboards and localization don't really work perfectly together. Generally, using localized strings in a storyboard file creates multiple copies of the file, which makes future changes to the layout more difficult. In this blog post, Victor Pavlychko demonstrates his way of solving this problem: shift the burden of localization from the storyboard to the views themselves.
Code
Task-based concurrency manifesto draft for Swift
There has been plenty of speculation that language native concurrency will be a focus for a future release of Swift. So when Chris Lattner publishes a manifesto on the topic you'll want to make sure you read it. Of course, it talks about the recent async/await proposal (and prototype) that he worked on, but then goes on to discuss the Actor model of concurrency at length. Interesting stuff.
Dealing with Complex Table Views in iOS and Keeping Your Sanity
There are many different ways to manage table views, but this seems like the most straightforward and succinct approach I've seen, by delegating responsibilities and using enums strategically. There's nothing too revolutionary here, but this guide to some best practices by Marin Benฤeviฤ is worth reading.
DefaultsKit
UserDefaults is an essential API but it hasn't really had any enhancements since the very beginning of the SDK and you're still probably writing quite a bit of boilerplate code to work with it in a strongly typed way. Not only does this library make UserDefaults strongly-typed, it takes advantage of generics and the new Codable features of Swift 4 to make that essential data store that much better to work with. ๐ฏ
Using Swift Codable With Property Lists
Property lists are extremely powerful, but when working with them you'll suffer many of the same problems as UserDefaults. In another really cool use case for the Codable protocol, this blog post goes through how to make reading from and writing to plists a breeze. ๐จ
Codable Dates
Codable in Swift 4 is super simple to use, so we're done with it right? But did you know about some of the advanced features around dates like automatic ISO 8601 formatting? Jake Marsh gives us the details.
It's Codable, Codable, Codable this week isn't it! ๐
Business and Marketing
Are app reviews worth reading?
App reviews are sometimes not the most pleasant things to read, but does that mean you should ignore them entirely? Probably not. John Saito talks about what he learned reading through thousands of reviews of the Dropbox app, and discusses what you can take away from this user feedback.
Sponsored Jobs
Software Engineer, iOS at DraftKings in Boston
Design, develop and enhance new features for our 4+ star rated App used by millions of extremely engaged sports fans and soon to be sports fans.
And finally...
Swift is like Kotlin
You thought the shortening of function to func was unnecessary? Wait until you see what it is in Kotlin ๐คฃ
Comment
Beta 7 is out and August is almost over โย did this summer fly by or what! We're down to about two weeks before you can submit your apps for iOS 11, so it's time for that final sprint. ๐
Evan Dekhayser