Sponsored Link
Get that Mac mini out from under your desk
As your iOS app dev team grows, a build machine sitting under the desk just won't cut it. MacStadium offers fast, secure, and scalable private clouds built on Macs. Try a MacStadium cloud free for 14 days! 🌥
News
Ways to prepare…
This newsletter has never been about rumours. It's rare that the current leaks even get a small mention here and it's certainly never the focus of what I write. So why am I linking to this tweet from Steve Troughton-Smith? Of course it is inspired by this week's leak-fest, but it's also a great list of things to keep in mind as you plan these last few weeks before WWDC.
Tools
Markdown Playgrounds for Swift
While updating their Advanced Swift book, Chris Eidhof and Florian Kugler frequently found themselves needing to execute the code embedded in their Markdown source. In this situation true developers only have one choice to make. Start writing an app now, or start writing one tomorrow morning? 😂 Here's the result of that decision.
The associated Swift talk episodes are also worth watching if you're interested in how they built this, or if you're curious about AppKit development. The first one is free, the rest need a subscription.
Flawless Feedback
This is neat! Connect your iOS device and mirror the screen via AirPlay directly into this app. Then snap screenshots and click to overlay comments. Then share the screenshot, and the comments with a web link. It's nothing more than that right now, but maybe it will be one day!
Code
Deep Linking at Scale on iOS
Getting iOS deep linking right is hard and a good solution usually needs to be baked in to the core of your app. Alberto De Bortoli has some thoughts on the subject after implementing NavigationEngine.
NSUserDefaults In Practice
I hadn't seen this page by David Smith before, but it was widely shared this week after he updated it for iOS 12. You almost certainly know the fundamentals of this API, but I bet you learn something from the "Caveats and Pitfalls" section. As David says: "Despite the focus on simplicity, there's still a number of ways to get in trouble." 😅
Designing APIs
John Sundell with a great article on a topic I adore, API design. While we're on the subject, one of my favourite talks of any WWDC was the session "API Design for Cocoa and Cocoa Touch" presented by Ali Ozer in 2010. There's no direct link to the video anymore but it's still available here if you search for the title. It obviously talks a lot about Objective-C, but the concepts are still solid gold.
Guided Access
Have you ever used Guided Access on iOS? Do you even know what it is? I remember it being introduced but I must admit I've never experimented with it. Mattt takes us through what it is, and how you can detect it in code and add custom restrictions to it. 🦄
Swift Generics Evolution
I saw Joe Groff's in-depth post on Swift Generics last week and put it aside to read when I had more time. I got to it this week, but by the time I did Tim Ekl had also published this great analysis of it. Just remember these are long term plans from the Swift team so don't expect the changes soon!
Design
Streamline Icons
I hadn't come across this incredibly comprehensive icon library before, but I saw Matt Delves recommend it this week and it's wonderful. It's not new (it was first released in 2013) but it's updated regularly and with more than 30,000 icons I don't think there is much missing.
Sponsored Jobs
Senior Swift Engineer @ WillowTree in Charlottesville VA
Get paid to build cool stuff. Competitive pay. Exciting projects. Great people.
iOS Developer @ Nodes (London, Berlin, Prague)
Fancy iOS development? We're looking for awesome new developers for our team!
Comment
I honestly didn't think I'd last even a few months writing this newsletter when it started back in 2011. I certainly wouldn't have believed you if you'd have told me I would hit the publish button 400 times over almost eight years.
Thank you all for continuing to read every week. But mostly, thank you for keeping me inspired and educated by producing the wonderful code and content that I link to. I love doing this, and am so happy to be a part of this community. 😍
Dave Verwer