Matthew's dev blog

Radar: Smart Stack Live Activities are not sorted by relevancy

New radar: Live Activity alerts on Apple Watch Smart Stack are not sorted by relevancy

Radar: show Live Activities in the watchOS Smart Stack

New radar: Live Activities are a terrific way to view glanceable information, and it would be great if they were also visible in the watchOS Smart Stack.

Radar: show prominent Live Activity alerts on iOS

New radar: Live Activity alerts are displayed on Apple Watch but not on the iPhone home screen. iPhone should show prominent Live Activity alerts if the host app has push notification permissions.

Sized-to-fit SwiftUI bottom sheet

A SwiftUI bottom sheet which is sized to fit its content.

A minimal reachability check for Swift

What reachability is, and now it should be used.

Using Synology NAS "USB Copy" to backup multiple shared folders

By default, USB Copy will only copy one shared folder. Here’s how to copy everything.

Using CoordinateSpace to draw over a SwiftUI List

How to accurately position a View over a ScrollView or List, using CoordinateSpaces.

Solar panels and Powerwall - one year retrospective

It’s a year since we had solar panels and a Tesla Powerwall installed. Here’s how it’s going so far.

Using custom fonts with SwiftUI

Things to watch our for when using custom fonts with SwiftUI.

An indeterminate linear ProgressView that works on iOS

Not sure if ‘bug’ or ‘feature’, but the LinearProgressViewStyle on iOS doesn’t support an indeterminate animation. So I made one that animates as you’d expect.

Investigation of @StateObject lifecycle

A dive into the lifecycle of @StateObject objects, and what causes them to be created and destroyed.

HTML2Markdown Swift Package

A terrible Swift package for converting HTML into Markdown.

An Xcode template for SwiftUI playgrounds

I made a thing, and I can’t wait to see what you do with it.

Custom Back buttons in SwiftUI

How to customise the Back button title in SwiftUI, without replacing it completely - because we still want to keep the standard Back button behaviour.

Exploring Different Behaviours in Swift Enums

I have a dilemma; the Swift enum is a first-class type and, if we’re to obey the laws of encapsulation, an enum type should own its functionality. But can we do this in a nice way, when its behaviour is different for each value in the enum?