RSSAmplifier

Blog

Matthew's dev blog

This is a personal blog by Matthew Flint.

matthewcodes.ukRSS feed ↗24 posts

Latest posts

Colourful Swift logging

Add colour to the output of your Swift commandline tool

How to tag CloudFormation stacks with the git revision

Tagging a CloudFormation stack with the git revision, and easily reading it back

Radar: Live Activity expanded regions cannot be a single accessibility element

New radar: Live Activity expanded regions cannot be grouped into a single accessibility element

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?

Data-driven Screen Dispatching for iOS

The Coordinator Pattern is rather trendy at the moment. There are some great benefits from using Coordinators, but I can’t help feeling it doesn’t go far enough. I propose that app navigation should be driven by data.

SwiftMock - A Mocking Solution for Swift

In 2015, I tried to write a mocking framework for Swift. It was over-engineered, difficult to use, and quickly abandoned. This article introduces a much better re-write.

Accessing Swift Arrays Without Counting on Fingers

I have a confession to make: I’ve been writing code for 35 years, but still need to count on my fingers when coding an array range-check.

Swift Extensions for Protocol Conformance Considered Harmful

I’ve come to the conclusion that using Swift extensions to make types conform to protocols is rather an anti-pattern. Let me explain why.

Handling widgetPerformUpdate in an iOS Today extension

Tips for usind NCWidgetProviding protocol and widgetPerformUpdate.

Enums are meant for switching

My rules for enums should (and should not) be used.