Sponsored Link
Find An iOS Dev Job Through Vettery
Vettery specializes in developer roles and is completely free for job seekers. Interested? Submit your profile, and if accepted onto the platform, you can receive interview requests directly from top companies growing their mobile dev teams. Get Started.
News
Swift Package Manager builds iOS frameworks
If you watch the open source projects there are often hints to what might be announced in the summer. Does this post from Artem Loenko mean that we'll see SwiftPM and Xcode finally fall for each other in some way this year?
Then again, I think I made exactly the same guess last year... It's going to happen one year though so I'm going to keep rolling the dice... ๐ฐ
Tools
Code metrics for Swift
If you're sensible, you probably don't put a lot of weight in metrics like "number of lines of code". However if you look beyond the basics in this project from Mattia Campolese and get to features like the dependency graph then things get much more interesting.
Quick Access Swift Playground
Would playgrounds be something you'd reach for more often if they were instantly available from a global keypress? That's not something Xcode supports, but we already have everything we need to make it a reality. Now if only they were a bit fasterโฆ ๐ฆ
Code
UIView styling with functions
I like this technique from Pierre Felgines for applying consistent styles across your app. Instead of subclassing, he proposes functions that apply styles. Add a little syntactic sugar and you have a great way to keep the styling in your app consistent.
Preflight possible universal links before opening SFSafariController
Such a great tip from Robin Kunde. If your app deals with opening arbitrary URLs then please do this! I know I always notice when an app gets this right.
Everything that you need to know about Apple Purchase Receipts
Apoorva Tyagi has been digging through the slightly more obscure data that's available in an IAP receipt. For example, did you know that Apple support will leave some information on the reason that a customer cancels if they contact support and request a refund?
Consent SDK
As ugly as these screens can be, you almost certainly either already need one, or will need one in the future. As with anything, there's always more to it than you think too so you might want to consider this library from Pavel Kroh if you're considering adding an analytics/privacy opt-in screen to your app.
Design
Save $1000s on your development costs with design compromises
Marc Palmer with a post title that should get your attention. ๐ค The best bit is that the design compromises aren't even that compromisey (is that a word? It is now!). Of course, there's always times for the rules to be broken but you won't go far wrong with this set of principles guiding your basic decisions.
Business and Marketing
The Downsides of Freelancing
Rosa Koolhoven with a great post on freelancing. If you're thinking of taking the plunge you'll want to give this a read. It can certainly be a wonderful life, if you get it right but it's not easy!
Up to Speed
Whatโs the difference between weak, strong, and unowned references?
If you're new to iOS development, or if you've always been a little unsure of the difference between weak and unowned. You'll want to read this excellent recap of the concepts from Paul Hudson.
Videos
dotSwift 2019 Videos
11 talks - 18 minutes (or less) each. That's got to be a manageable amount of watching for more than a few of you... Off you go to this great set of videos from dotSwift.
Sponsored Jobs
iOS Engineer at Monzo in London (or Remote)
We're searching for product-focussed engineers to help us make money work for everyone.
Comment
Did you see the discussion thread proposing an official Swift style guide this week?
In my opinion, style guides are overrated. Everyone has an opinion on them so they always generate lots of discussion, which makes them feel more important than they really should be. Should there be an official Swift style guide? Meh, maybe? I guess it'd probably be a net positive overall. Is it the best thing to spend time on? Almost certainly not.
So why am I writing about it? Mainly so I can link to this tweet (read the whole thread) from Nick Lockwood. Even though CocoaPods and Carthage are still popular today, SwiftPM really took the wind out of their sails and (so far) has failed to deliver a better solution for the problem they solve. If an official linting/formatting tool is developed, how long will we have to wait for it to become good enough to replace what we already have in SwiftLint/SwiftFormat?
I think I'd have much less of a reaction to a proposal for a style guide which didn't also propose a new tool to enforce it but instead relied on the tools that this community have already put thousands of hours of effort into.
Dave Verwer