Extracting app logs from an .xcresultIf you’re a dev and you run tests in CI then you’ve probably run into the scenario (many times) where the tests are fine on your machine…Apr 25Apr 25
Swift 6 is coming in September!As I predicted in my last blog, Preparing for Swift 6, it seems Swift 6 is actually heading for a September release date!Feb 25Feb 25
Preparing for Swift 6First things first. Let’s address that bizarre image… I used Bing’s AI image creator to try and show a number 6 fighting a number 5, to…Jan 23Jan 23
Published inDev GeniusWriting good unit testsWe write tests to prove that our code is correct now and in the future. If we want to do some refactoring some day then we can rely on…Oct 17, 2023Oct 17, 2023
Using ProvisioningProfile and Firebase to monitor profile expiries remotelyPreviously I wrote about my Swift Package ProvisioningProfile, which extracts when your (iOS/watchOS/tvOS/macOS) app’s provisioning profile…Apr 30, 2023Apr 30, 2023
Published inDev GeniusMoving views around in SwiftUIIn the earlier days of SwiftUI I was putting together a card game (for funsies) and had most of it working quite nicely but couldn’t figure…Feb 16, 2022Feb 16, 2022
Goodbye MFMailComposeViewController?For many years I’ve used MFMailComposeViewController in my iOS apps to help the user send feedback emails to me. It’s a nice way of keeping…Dec 11, 20212Dec 11, 20212
Easy UIAlertController presentationSometimes presenting alerts can get tricky, but now there’s a Swift package to help you out!Aug 12, 2021Aug 12, 2021
Xcode: Monitoring your public API — Part 2In Part 1 we looked at how we could generate the public API of our Objective-C/Swift frameworks in the Swift language. But what if we want…Jun 24, 2021Jun 24, 2021
Xcode: Monitoring your public API — Part 1If you’ve ever worked on an SDK/framework/library you’ll hopefully have done your best to keep a stable public API for the developers who…Jun 9, 2021Jun 9, 2021