promotion
Powerful debugging in Xcode,
no code changes or 3rd party frameworks required.

Unxippity - fast Xcode unxipping, is open source

Few weeks ago I had few free hours and hacked together a quick SwiftUI app that uses saagar’s unxip package to quickly unxip Xcode downloads. You can use saagar’s command line utility but I’m one for neat UIs so I wanted to have something to click around. Today I wrapped few loose ends and pushed the code to GitHub here: icanzilb/Unxippity. Here’s a very quick walkthrough the app. Note: This is a very quickly put together app experiment, use caution when using it. …

Posted on

Easy app walkthroughs with MarkWalkthrough

Some time ago, while I was working on my app Rex Tables, I wrote some quick code that reads a Markdown file with some “slide” data and automatically displays an app walkthrough. It wasn’t really meant for other people to use since it made use of a paid Swift package for the transition effects in the walkthrough. But that package, namely Pow, just become open sourced last week! So I pulled the code out of Rex Tables and did a quick pass to tighten up a couple of things and pushed it to GitHub. …

Posted on

Automate debugging SwiftUI and UIKit with dataFude

The ability to log values and visualize them in dataFude is quite powerful, but the core concept of the app really shines when a developer automates logs that drive metrics over time. Such metrics could be any value that changes over time, such as the size of the app cache, the amount of RAM consumed, or the number of instances created of a given class. This article will look at two quite different approaches to tracking automation, one with SwiftUI and another with UIKit. …

Posted on

Custom SwiftUI view modifier for paid app features

In my app dataFude for Simulator I’ve decided to offer some features for free and others only to users who pay for the app. This way, everyone including students and hobbyist can meaningfully use the app, while professional users can support the development. I considered few different approaches including compiling two separate versions of the app, but ultimately went for shipping a single binary that relies on RevenueCat and enables/disables some parts of the UI depending on the purchase status. …

Posted on