How to list installed apps on a iOS simulator

This lists apps from a named simulator, converts to json, then finds non-apple apps.

xcrun simctl listapps "iPad Air (5th generation)" \
| plutil -convert json -o - -- - \
| jq '. | keys | .[] | select(. | startswith("com.apple") | not)'

This requires that you know the name of your simulator and have jq installed.

You can also replace the device name with booted if you want, but I prefer to use the name of the simulator.

Here are the docs for using a simulator name versus booted for simctl.

For subcommands that require a <device> argument, you may specify a device UDID
or the special "booted" string which will cause simctl to pick a booted device.
If multiple devices are booted when the "booted" device is selected, simctl
will choose one of them.

Note: as far as I can tell, there are no docs for listapps or even anything stating its existence in the man page for simctl.

Before I left Missouri I stopped at my in-laws and noticed that their flowers were blooming so here’s a pick of some hyacinths. Not sure why theirs bloomed and ours didn’t because we planted them all the same weekend.

How to set iTerm2 window and tab bar to show current path

I tend not to use tabs and instead have a bunch of windows so I originally wanted to know how I could set my window title bar to show the current path, but in this post I’ll share how to do both in iTerm2.

Here is a screenshot of the iTerm2 Preferences window showing Profiles -> Window.

Screenshot of iTerm2 Preferences Window showing how to set custom window title and custom tab title

For custom window title you’ll set \(currentTab.currentSession.path).

For custom tab title you’ll set \(currentSession.path).

And that’s it!

Here’s what it would look like in iTerm2:

Screenshot of iTerm2 with custom window and tab titles

And here’s the Stack Overflow question I found that solved this for me. Wanted to blog about it so that I remember how to do this in the future.

How to see git authors per line in Xcode

In my previous life I used a tool with VSCode called GitLens. What it does is show you what the last git commit for a selected line was. When you hovered over the greyed out text to the right of your code line, you’d get a little popover with more info about the commit. This is a really handy tool for quickly figuring out who made what change and when.

GitLens screenshot

Today I work mostly in Xcode and sadly Xcode doesn’t have this extension nor support this feature. It does however have something that shows you who changed each line and a brief commit message to try to provide some insight.

Screenshot of Xcode showing it's author view and popover for git commit information.

You can access this with ctrl + shift + cmd + A or find it in the Editor Menu for Xcode.

Xcode Editor Menu showing the Authors menu item and shortcut.

I don’t like to complain on the internet, but I find it interesting that UPS delivered my multi thousand dollar mac studio without a signature however my $40 iPhone dock wasn’t delivered because I wasn’t home. 🧐

I released my app!

Just over a week ago today, I released my first app to the iOS App Store. If you’re really curious, you can find it here.

Spoiler: it requires an Apple Music subscription to really work.

I have a 1.1 coming soon with some bug fixes and improvements from my small TestFlight community. Send me a message/email/smoke signal if you want to be on future beta tests.

It’s really freeing to be so unknown that I can release something that I’m not entirely happy with and not feel a large amount of stress over it. Maybe one day that will change. Here’s hoping.

P.S. here’s the little website I made for the app.

I'm working on an iOS app

I’m working on an iOS app and I’m getting so close to releasing the 1.0. I was looking at App Store Connect and noticed that I needed screenshots and I remembered that Fastlane has the ability to automate screenshot creation.

Pretty cool I think. So I go through the process of setting up and starting to work on the UI Tests that need to run in order to trigger the screens I want to show and then it hits me.

The app I’m working on uses MusicKit and unfortunately the Xcode Simulators aren’t able to really do anything with MusicKit i.e. they can’t search or play music which is kind of a big deal. This hadn’t been much an issue during development because I could just run the app on my phone.

From what I can tell I will not be able to use Fastlane to automate this screenshot creation because it relies on using simulators for running the UI Tests that would then capture screenshots. What a bummer (though I sure hope I’m wrong!).

Fortunately I found another resource from Benoit Pasquier that might make it possible for me to use UI Tests to automate screenshots to some degree. It won’t be quite as extensive, but my wife has a regular sized iPhone and I have a big one so at least I’ll have two sets of screenshots. No luck on the iPhone SE size. Hopefully that isn’t a dealbreaker, but we’ll see. This is all very new to me.

This is my first time writing (re: rambling) about this app and if you’d like to hear more or be invited to the TestFlight, feel free to comment on this post or shoot me an email at nick_kaczmarek@icloud.com.

Cheers πŸ₯‚