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
.