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

Marin's Side Projects 2023

For one reason or another I didn’t do much publicly in 2023 but in the last couple months I had some free time and picked some ideas from the backlog to work on. So here’s a short summary of few interesting things I worked on in 2023 (some with source code, yay): Breadcrumbs I’ve had this idea for a very long time and I believe that it could be a great app if anyone could come up with a business model to sustain its development. …

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

Injecting code in result builders

This is a rather quick post about running some arbitrary code inside result builders. Result builders are great and often make the code much more readable — think SwiftUI vs UIKit… but builder blocks are quite strict about the types they expect to find so using arbitrary prints or calling other functions isn’t always easy, per sè. I am often times a fan of inserting a print or two in the code, especially when I’m exploring new code. …

Posted on

DocC: Project documentation structure

This post is about structuring the documentation for a project with Swift DocC. (Apple’s intro to Swift DocC) Swift DocC in Xcode automatically builds project documentation following the structure of the app’s code hierarchy. Additionally, DocC allows you to create custom curation and hierarchy to improve the discoverability and the user experience of said documentation. Bellow I’ll suggest a simple documentation hierarchy for apps or packages, especially in the context of a larger team or organization. …

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

dataFude for Simulator launches today! 🚀

I’m glad to share that dataFude for Simulator is launching today on ProductHunt and the AppStore! dataFude for Simulator is an Xcode companion app to see your debugging data in a beautiful and bold UI. Log your debug data as usual using Apple’s logging framework, and dataFude for Simulator will automatically select and display your logs! It’s a powerful native developer tool that is focused on making developers more productive while developing with Xcode and the Simulator. …

Posted on

Automation tooling using MarkCodable for reports

For my apps dataFude for Simulator and Rex Tables I have few command line tools that run some end-to-end tests. I use MarkCodable to easily print reports to the console. In this short post I’m gonna show how MarkCodable cuts down on some of the turnaround time when I’m making tools. MarkCodable I wrote about MarkCodable previously when I released it: Introducing MarkCodable but I wanted to give you some more examples, just for fun. …

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

dataFude for Simulator - public beta on TestFlight now!

As I wrote recently, in 2022 I worked on a lot of side projects and even made a shippable and usable versions of few of them. Many of the ideas I worked on converged in the latest app that I believe is a product a large number of developers could use to improve their daily lives. Yesterday, I opened up dataFude for Simulator for public testing on TestFlight. If you want to give it a try or learn more, the website is: …

Posted on