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.
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! 📐
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.
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.
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.
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.
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. 💯
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 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! 🐟
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.
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.
You thought the shortening of function to func was unnecessary? Wait until you see what it is in Kotlin 🤣