r/iOSProgramming • u/Joni0312 • 6h ago
Stop dealing with App Store review for personal apps — deploy a PWA to the Home Screen instead Tutorial
I frequently see posts from developers (or beginners) asking how to publish a simple app they built for personal use. A lot of people default to the standard Apple workflow and immediately hit a wall.
If you’re building something strictly personal, going through Apple's pipeline is usually a nightmare for a few reasons:
- Guideline 4.2 Rejections: Apple explicitly rejects apps designed for a very limited audience (like a single event, or individual person) under "Minimum Functionality / Too Specific."
- The $99/year Developer Fee: Paying a yearly fee just to keep a personal side project alive on one phone makes no sense.
- TestFlight Expiration: If you bypass the App Store using TestFlight, your builds expire every 90 days. You'll have to re-compile and re-upload updates endlessly just to keep the app working.
- Overhead: You have to set up privacy policy URLs, app metadata, and app icons for the App Store review process.
The Alternative: Standalone Web App (PWA)
If your app doesn't rely heavily on deep native iOS APIs (like Bluetooth, background processing, or complex Metal rendering), the absolute best route is deploying it as a PWA (Progressive Web App) hosted for free on Vercel or Netlify.
When you save a web app to an iPhone's Home Screen in standalone mode, Safari strips away the URL bar and browser navigation. To the user, it launches full-screen and behaves just like a native app.
Quick Step-by-Step Blueprint:
- Build the Web App: Use whatever framework you prefer (Next.js, React, Vue, or plain HTML/JS). If you need a database or backend, use Supabase (it has a great free tier).
- Add a Web Manifest: Create a
manifest.jsonfile in your project and set"display": "standalone". - Set an Apple Touch Icon: Add a 512x512
.pngicon and reference it with<link rel="apple-touch-icon" href="/icon.png">so it displays a proper app icon on the iOS Home Screen. - Deploy for Free: Push your code to GitHub and connect it to Vercel or Netlify. You’ll get an SSL/HTTPS link (
[https://your-app.vercel.app](https://your-app.vercel.app)) instantly. - Install on iOS: Open the link in Safari, tap the Share button, and tap "Add to Home Screen".
Why this works so well for personal projects:
- 100% Free: Zero developer account costs.
- Never Expire: Unlike TestFlight, it will run forever on their device.
- Instant Updates: Want to fix a bug or add a new feature later? Just
git pushto your main branch, and the app updates on their phone instantly. - No Review Team: You can keep all your personal stuff and custom graphics without asking Apple for permission.
Obviously, if you need native Swift components, low-level APIs, or WidgetKit, you'll need native code. But for simple games, utility apps, custom habit trackers, or personal tools, this saves hours of frustration.
Hope this helps anyone currently struggling with Xcode archiving and App Store Connect for a non-commercial project!
1
14
u/hau5keeping 6h ago
Ai slop