Last weekend I uploaded fourteen iOS apps to App Store Connect under Frazier Industries Mach 2, LLC. All binaries, all icons, all metadata. It's the most concentrated App Store submission push I've ever done, and I wrote some automation along the way that I'd reach for again.
The apps are mostly small developer and power-user utilities:
Prices range from $1.99 to $14.99 (ShellPad is the outlier; SSH clients are worth it).
I have a Python script that wraps the App Store Connect API. It does three things I'd manually hate:
1. Uploads IPAs via altool in parallel for every app in a manifest file 2. Generates and uploads 6.5" screenshots at 1242×2688 from Fastlane snapshots — then resizes for the 6.7" and 5.5" slots 3. Fills the metadata — app name, subtitle, keywords, description, support URL, privacy policy URL, category
The manifest is just a YAML file. Each row is an app. The script takes care of the rest.
Two things I haven't automated because Apple hasn't given me a clean API surface:
I've seen folks drive this through headless browsers. For 14 apps it wasn't worth building; for 40 I'd reconsider.
A single annual Apple Developer membership costs the same whether you ship one app or forty. The marginal cost of a new utility — built with shared SwiftUI components — is low enough that batching makes sense. Every one of these apps scratches an itch I had personally, and most of them exist because I got tired of opening a browser to solve a tiny problem.
Submission for review is the next step. I'll write up the rejection-and-resubmit dance when I've been through it a couple of times.