Swift Developments is a hand-curated newsletter containing a weekly selection of the best links, videos, tools and tutorials for people interested in designing and developing their own apps using Swift.
Welcome to Issue 176! I’ve had a great week this week with a couple of days in London at iOSCon 2019 meeting some wonderful people from around the Swift and iOS development community which include a number of Swift Developments readers which was awesome! As someone who doesn’t get out to conferences that much it was great to feel part of such a warm, inclusive and diverse community event and I feel privileged to have countered some genuine acts of kindness whilst I was there. I’d thoroughly recommend attending next year if you can.
And it’s out! Swift 5 has been officially released along with Xcode 10.2! @tkremenek has marked the occasion with a post on the Swift.org blog rounding up all the changes from
Codable conformance for Range types through to String Literal Delimiter changes. It’s a surprisingly large amount when they’re summarised in a single place.
It’s likely that you’re already building against iOS 12.1 SDK but if you’re not, you should know that this week, Apple have announced some new requirements for app store submissions that will come into effect tomorrow that require all updates and new submissions to be built using an iOS 12.1 or later SDK. On top of this if you’re building Metal-based apps there are also more stringent requirements on memory usage for iOS and tvOS apps so it’s worth checking out this article to find out more about what’s involved.
In our data driven world of App Development @jaredsinclair points out some of the harsh realities of having to include client-side analytics in your app but also admits, that currently don’t really have much of an alternative.
If your an app developer and have been around the App Store you’ll have no doubt be aware, and maybe even experienced, the inevitable bump in sales that being featured in the store can bring but how much of an impact does getting featured really have? Maggie Ngai has been taking a look.
Over the years, users have increasingly grown to expect snappy, almost instantaneous, responses from apps. They want to see their data and as fast as possible. Waiting simply isn’t an option. Inevitably though, there are going to be those times where you just can’t respond immediately. What if you need to load data from the network or perform some computationally heavy operation? For these cases you’re going to need to provide the user with feedback about what is happening and loading animations and progress bars can be a great way of doing this. @LisaDziuba has put together a great guide on how to incorporate them into your apps.
I somehow missed this one when it was published in February. Have you ever thought about when and why you want to use a solid vs outline icon in your designs? I have to admit, I don’t think I had until I came across this article from @uxmovement. The psychology of it’s really interesting.
Along with a host of other new features, Swift 5 is bringing with it a number of changes to how Swift handles String encoding the biggest change being the switch from the currently preferred UTF-16 encoding in Swift 4.2 to UTF-8 encoding by default in Swift 5. This week, @ilseman has posted a new article on the Swift.org blog, digging into some of the details, explaining why the changes is needed, some of the benefits it will bring as well as the impact it may have on your code (spoiler alert – not much ?).
As you likely know, Swift is a particularly strong type system which most of the time helps us avoid a large class of bugs sneaking into our code. There are however occasions when we have to start fighting this type system, especially when working with generics protocols. For these cases we can turn to type erasure the topic of this weeks article from @johnsundell.
Switching your store front to check your app rankings has always been a pit of a pain. This week, things have got much easier with a great new tool from @aaron_pearce called DevSwitch that lets you easily switch between different stores with the tap of a button. Definitely one to add to the toolkit.
So if you applied for a WWDC ticket you’ll no doubt have already experienced either the elation (in which case congratulations!) or potentially disappointment (in which case commiserations) of your WWDC email from Apple. Even if you didn’t get a ticket and you’re in the San Jose area, it might not be too disappointing though as there are a whole host of other events that are running in parallel including AltConf and Layers. For those further a field who aren’t travelling to San Jose, AltConf are also running a number of satellite events in London, Madrid, Paris and Berlin which are also worth checking out.
After a great couple of days at iOSCon 2019, @CarlaAtSM and the team at @skillsmatter have done a great job in posting all the videos from this years event already! Pretty impressive considering they were up almost immediately after the event finished! Now although all the talks and speakers were great (and I’d thoroughly recommend watching all the videos if you get a chance), I would like to call out two that I thought were particuarly impactful – one from @jesslynnrose titled “Burnout” – a topic that isn’t discussed enough in tech circles – and one from @jaimeejaimee titled “I’m a Tool Builder” which provides a great reminder on some of the impact you can have in the world. Both were particularly thought provoking and inspiring for me and I’d recommend putting them at the top of your viewing list.
@MobileWarsaw organiser @akashivskyy with a talk on one of Xcode’s must underrated features – the ability to define build configurations outside of Xcode’s project files. Great option if you want to avoid Xcode accidentally changing your build settings and want to make code reviews easier.